博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SaltStack自动化运维初涉--安装简用篇
阅读量:6002 次
发布时间:2019-06-20

本文共 7316 字,大约阅读时间需要 24 分钟。

  很久之前,用过一段时间的Puppet,也就是简单用了用,后来慢慢就丢了,然后就去搞mysql的一些东西了,或许,很多事情就是注定的,以为再来不会用它了的时候,任务来了,说要继续研究这玩意,后面遇到一个牛X的同事,说用SaltStack比较好,而且他已经用这个做了不少实际游泳的案例了,他说,Puppet注重于最终状态,SaltStack注重于实时命令的运行,SaltStack=Puppet+Func,且SaltStack还是使用Python开发的,入手以及后续的功能自定义开发都是非常方便的。于是乎,就看看咯.

官网链接是:


角色       操作系统           主机名      IP地址

Master【服务端】    RHEL6U3 X86_64    DemoServer    192.168.153.38

Minion【客户端】     RHEL6U3 X86_64    oracle        192.168.153.137


1. 安装SaltStack Master

 [1] 配置本地YUM源

[root@DemoServer ~]# cat /etc/yum.repos.d/rhel-source.repo[rhel]name=rhelbaseurl=http://192.168.150.3/rhel6.3core/enabled=1gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-beta,file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

额外下载包:python-jinja2-2.2.1-1.el6.x86_64.rpm  

[2] 安装EPEL源

[root@DemoServer ~]#  rpm -Uvh http://ftp.linux.ncsu.edu/pub/epel/6/i386/epel-release-6-8.noarch.rpm

[3] 开启YUM缓存,保存安装包

[root@DemoServer ~]# cat /etc/yum.conf [main]cachedir=/var/cache/yum/$basearch/$releasever keepcache=0  修改为  keepcache=1debuglevel=2logfile=/var/log/yum.logexactarch=1obsoletes=1gpgcheck=1plugins=1installonly_limit=3

[4] 安装SaltStack Master 软件包

[root@DemoServer ~]# yum install python-jinja2-2.2.1-1.el6.x86_64.rpm   salt-master salt-minion -y  //本节点即作为Master,也作为Minion使用

[5] 保存所有依赖包,用于离线安装

[root@DemoServer packages]# ll /var/cache/yum/x86_64/6Server/epel/packagestotal 3356-rw-r--r--. 1 root root   52880 May 19  2010 libyaml-0.1.3-1.el6.x86_64.rpm-rw-r--r--. 1 root root  169348 Dec 26  2012 openpgm-5.1.118-3.el6.x86_64.rpm-rw-r--r--. 1 root root   29556 Jun  2  2013 python-msgpack-0.1.13-3.el6.x86_64.rpm-rw-r--r--. 1 root root  433896 Dec 15  2012 python-zmq-2.2.0.1-1.el6.x86_64.rpm-rw-r--r--. 1 root root  161120 Apr 28  2012 PyYAML-3.10-3.el6.x86_64.rpm-rw-r--r--. 1 root root 2156412 Nov 20 22:46 salt-0.17.2-2.el6.noarch.rpm-rw-r--r--. 1 root root   32124 Nov 20 22:46 salt-master-0.17.2-2.el6.noarch.rpm-rw-r--r--. 1 root root   20956 Nov 20 22:46 salt-minion-0.17.2-2.el6.noarch.rpm-rw-r--r--. 1 root root   19292 Aug 31  2011 sshpass-1.05-1.el6.x86_64.rpm-rw-r--r--. 1 root root  341724 Sep 22 02:18 zeromq3-3.2.4-1.el6.x86_64.rpm
[root@DemoServer ~]# ll /var/cache/yum/x86_64/6Server/rhel/packages-rw-r--r--. 1 root root 1494848 Aug 17  2010 python-babel-0.9.4-5.1.el6.noarch.rpm
[root@DemoServer ~]# ll saltstack0.17.4  //共计如下软件包total 5288-rw-r--r--. 1 root root   52880 Jan  2 16:35 libyaml-0.1.3-1.el6.x86_64.rpm-rw-r--r--. 1 root root  169348 Jan  2 16:35 openpgm-5.1.118-3.el6.x86_64.rpm-rw-r--r--. 1 root root 1494848 Jan  2 16:36 python-babel-0.9.4-5.1.el6.noarch.rpm-rwxr--r--. 1 root root  476200 Jan  2 16:36 python-jinja2-2.2.1-1.el6.x86_64.rpm-rw-r--r--. 1 root root   29556 Jan  2 16:35 python-msgpack-0.1.13-3.el6.x86_64.rpm-rw-r--r--. 1 root root  433896 Jan  2 16:35 python-zmq-2.2.0.1-1.el6.x86_64.rpm-rw-r--r--. 1 root root  161120 Jan  2 16:35 PyYAML-3.10-3.el6.x86_64.rpmdrwxr-xr-x. 2 root root    4096 Jan  2 16:36 repodata-rw-r--r--. 1 root root 2156412 Jan  2 16:35 salt-0.17.2-2.el6.noarch.rpm-rw-r--r--. 1 root root   32124 Jan  2 16:35 salt-master-0.17.2-2.el6.noarch.rpm-rw-r--r--. 1 root root   20956 Jan  2 16:35 salt-minion-0.17.2-2.el6.noarch.rpm-rw-r--r--. 1 root root   19292 Jan  2 16:35 sshpass-1.05-1.el6.x86_64.rpm-rw-r--r--. 1 root root  341724 Jan  2 16:35 zeromq3-3.2.4-1.el6.x86_64.rpm

[6] 制作SaltStack安装YUM源

[root@DemoServer ~]# mv saltstack0.17.4  /var/www/html/saltstack/[root@DemoServer ~]# yum install createrepo -y[root@DemoServer ~]# createrepo -p -d -o /var/www/html/saltstack/ \> /var/www/html/saltstack/12/12 - salt-minion-0.17.2-2.el6.noarch.rpm                                   Saving Primary metadataSaving file lists metadataSaving other metadataGenerating sqlite DBsSqlite DBs complete

[7] 启动httpd服务

[root@DemoServer ~]# service httpd start

[8] 安装oracle节点的salt-minion

(1) 配置YUM源

[root@oracle ~]# cat /etc/yum.repos.d/rhel-source.repo[rhel]name=rhelbaseurl=http://192.168.150.3/rhel6.3core/enabled=1gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-beta,file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release[saltstack]name=saltstackbaseurl=http://192.168.153.38/saltstackenabled=1gpgcheck=0

(2) 安装salt-minion 软件包

[root@oracle ~]# yum  install salt-minion -y

2. 启动服务

[root@DemoServer ~]# iptables  -F ; service iptables save ; service iptables restart //清空所有IPTABLES规则,或者开放4505与4506端口[root@DemoServer ~]# setenforce  0 //手动设置SELINUX状态[root@DemoServer ~]# sed -i 's/enforcing/disabled/g'  /etc/sysconfig/selinux //修改SELINUX状态为disabled,重启生效[root@DemoServer ~]# grep 'SELINUX=' /etc/sysconfig/selinux# SELINUX= can take one of these three values:SELINUX=disabled[root@DemoServer ~]# service salt-master start //启动salt-master[root@DemoServer ~]# chkconfig  salt-master on //设置salt-master开机启动[root@DemoServer ~]# service salt-minion start //启动salt-minion[root@DemoServer ~]# chkconfig salt-minion on //设置salt-minion开机启动[root@DemoServer ~]# netstat  -nltup |grep python //查看端口是否被监听tcp   0   0 192.168.153.38:4505   0.0.0.0:*   LISTEN  882/python        tcp   0   0 192.168.153.38:4506   0.0.0.0:*   LISTEN  874/python

oracle节点上面同样启动

[root@oracle ~]# service salt-minion start //启动salt-minion服务[root@oracle ~]# chkconfig salt-minion on //设为开机启动

3. 修改配置文件

Master:[root@DemoServer ~]# cat  /etc/salt/master  |grep -v '#' |grep interfaceinterface: 192.168.153.38  //修改监听IP[root@DemoServer ~]# service salt-master restart //重启salt-master服务两个 Minion:[root@DemoServer ~]# cat /etc/hosts127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4::1         localhost localhost.localdomain localhost6 localhost6.localdomain6192.168.153.38DemoServer[root@DemoServer ~]# cat   /etc/salt/minion |grep -v '#'|grep  mastermaster: DemoServer  //指定master的可解析的主机名或者IP地址[root@DemoServer ~]# service salt-minion restart //重启 salt-minion 服务[root@oracle ~]# cat /etc/salt/minion |grep -v '#' |grep  mastermaster: 192.168.153.38[root@oracle ~]#  service salt-minion restart //重启 salt-minion 服务

4. 密钥验证

[root@DemoServer ~]# salt-key  -L   //列出所有请求keyAccepted Keys:Unaccepted Keys:DemoServer  == 本机oracle            ==新主机,主机名为oracle IP为192.168.153.37Rejected Keys:【 上面识别到的id 默认取客户端的主机名的FQDN值,如果在客户端的/etc/salt/minion_id中进行修改,则会显示自定义的id值 】[root@DemoServer ~]# salt-key  -a  DemoServer  //批准DemoServerThe following keys are going to be accepted:Unaccepted Keys:DemoServerProceed? [n/Y] yKey for minion DemoServer accepted.[root@DemoServer ~]# salt-key  -LAccepted Keys:DemoServerUnaccepted Keys:oracleRejected Keys:[root@DemoServer ~]# salt-key  -A  //批准接受全部The following keys are going to be accepted:Unaccepted Keys:oracleProceed? [n/Y] yKey for minion oracle accepted.[root@DemoServer ~]# salt-key  -L  //再次查看,全部被接受Accepted Keys:DemoServeroracleUnaccepted Keys:Rejected Keys:

5. 简单命令尝试

[root@DemoServer ~]# salt oracle test.pingoracle:    True[root@DemoServer ~]# salt '*' test.pingDemoServer:    Trueoracle:    True或者[root@DemoServer ~]# salt -L 'oracle153_37,DemoServer' test.pingoracle153_37:    TrueDemoServer:    TrueGrains 类似于Puppet中的facter[root@DemoServer ~]# salt -G 'cpuarch:x86_64' grains.item num_cpusDemoServer:  num_cpus: 4oracle153_37:  num_cpus: 4[root@DemoServer ~]# salt '*' grains.ls  //查看有哪些参数可以显示[root@DemoServer ~]# salt '*' grains.items  //列出所有参数的条目,item复数 //列出具体的参数值,item单数[root@DemoServer ~]# salt '*'  grains.item osDemoServer:  os: RedHatoracle153_37:  os: RedHat

昨天对SaltStack的探讨就这些,记录下来,再深究。

转载地址:http://ncbmx.baihongyu.com/

你可能感兴趣的文章
配置Openfiler做ISCS实验
查看>>
Maven启用代理访问
查看>>
LDAP & Implementation
查看>>
hdu 1398 Square Coins (母函数)
查看>>
twitter storm 源码走读之5 -- worker进程内部消息传递处理和数据结构分析
查看>>
CCF 201503-4 网络延时
查看>>
Windows 8 Metro App开发[5]导航栏(AppBar)的使用
查看>>
Effective Java -- 使可变性最小化
查看>>
开发环境中Docker的使用
查看>>
Redis 分布式锁
查看>>
IBM、HPUX、Solaris不同之处
查看>>
verilog 里面,always和always@(*)有区别吗?
查看>>
86标准sql与92标准SQL用法区别
查看>>
SIO_KEEPALIVE_VALS 用户异常掉线检测
查看>>
Inno Setup入门(二)——修改安装过程中的图片
查看>>
服务器性能瓶颈分析方法(转载)
查看>>
JAVA学习笔记——JAVA基础语法(六)
查看>>
modelform实例学习
查看>>
EF CRUD
查看>>
初识python:time 模版
查看>>