SaltStack是一种全新的基础设置管理方式,部署轻松,在几分钟内可运作起来,扩展性好,很容易管理上万台服务器,速度够快,服务器之间秒级通讯。通过部署SaltStack环境,我们可以在成千上万台服务器上做到批量执行命令,根据不同业务特性进行配置集中化管理、分发文件、采集服务器数据、操作系统基础及软件包管理等,SaltStack是运维人员提高工作效率、规范业务配置与操作的利器。特性:(1)、部署简单、方便;(2)、支持大部分UNIX/Linux及Windows环境;(3)、主从集中化管理;(4)、配置简单、功能强大、扩展性强;(5)、主控端(master)和被控端(minion)基于证书认证,安全可靠;(6)、支持API及自定义模块,可通过Python轻松扩展。一、安装:Salt-master: 192.168.12.22 soft:salt-masterSalt-minion01:192.168.12.25 soft:salt-minion12.22操作1、此次安装SaltStack采用yum安装方式,所以需要借助第三方yum源(epel和rpmforge)rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpmsed -i 's@^#@@' /etc/yum.repos.d/epel.reposed -i 's@mirrorlist@#mirrorlist@' /etc/yum.repos.d/epel.reporpm -Uvh http://apt.sw.be/redhat/el6/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm2、安装依赖包yum -y install python-jinja23、将以上操作在12.25上操作一遍4、12.22安装SaltStack包yum -y install salt-master5、12.25安装yum -y install salt-minion二、配置SaltStack1、vim /etc/salt/masterinterface: 192.168.12.22 绑定Master通信IPauto_accept: True 自动认证,避免手动运行salt-key来确认证书信任file_roots: 指定saltstack文件根目录位置 base: - /srv/salt/2、更新被控端配置(12.25)vim /etc/salt/minionmaster: 192.168.12.22id: lvs-web1三、启动SaltStack服务1、服务端启动salt-master服务(12.22)chkconfig salt-master on/etc/init.d/salt-master start2、被控端启动salt-minion服务(12.25)chkconfig salt-minion on/etc/init.d/salt-minion start四、在master端查看公钥列表1、12.22操作salt-key -LAccepted Keys:lvs-web1Denied Keys:Unaccepted Keys:Rejected Keys:2、测试被控主机的连通性、硬盘的使用率、网络接口地址测试被控主机(12.25)的连通性、硬盘的使用率、网络接口地址salt '*' test.pinglvs-web1: True salt '*' disk.usagelvs-web1: ---------- /: ---------- 1K-blocks: 10190136 available: 7409352 capacity: 24% filesystem: /dev/sda2 used: 2256496 /boot: ---------- 1K-blocks: 514760 available: 456932 capacity: 7% filesystem: /dev/sda1 used: 30848 /cacti: ---------- 1K-blocks: 20026236 available: 17443668 capacity: 9% filesystem: /dev/sda5 used: 1558620 /dev/shm: ---------- 1K-blocks: 1962184 available: 1962172 capacity: 1% filesystem: tmpfs used: 12salt '*' network.interfaceslvs-web1: ---------- eth1: ---------- hwaddr: a6:95:ca:8a:6b:42 inet: |_ ---------- address: 192.168.12.25 broadcast: 192.168.12.255 label: eth1 netmask: 255.255.255.0 inet6: |_ ---------- address: fe80::a495:caff:fe8a:6b42 prefixlen: 64 scope: link up: True lo: ---------- hwaddr: 00:00:00:00:00:00 inet: |_ ---------- address: 127.0.0.1 broadcast: None label: lo netmask: 255.0.0.0 inet6: |_ ---------- address: ::1 prefixlen: 128 scope: host up: True3、远程执行命令测试(1)cmd模块包含的shell的输出在被控端,比如cmd.run and cmd.run_allsalt '*' cmd.run datelvs-web1: Mon Dec 7 10:39:23 CST 2015salt '*' cmd.run uptimelvs-web1: 10:39:56 up 18 days, 20:02, 4 users, load average: 0.00, 0.00, 0.00alt '*' cmd.run 'df -h'lvs-web1: Filesystem Size Used Avail Use% Mounted on /dev/sda2 9.8G 2.2G 7.1G 24% / tmpfs 1.9G 12K 1.9G 1% /dev/shm /dev/sda1 503M 31M 447M 7% /boot /dev/sda5 20G 1.5G 17G 9% /cacticmd.run 'ls -l /etc'lvs-web1: total 1552 drwxr-xr-x. 5 root root 4096 May 20 2015 ConsoleKit -rw-r--r--. 1 root root 4439 Jul 16 2014 DIR_COLORS 。。。。。。。 (2)pkg函数自动映射本地系统的包管理到salt函数salt '*' pkg.install vimlvs-web1: ---------- vim-common: ---------- new: 7.4.629-5.el6 old: 7.2.411-1.8.el6 vim-enhanced: ---------- new: 7.4.629-5.el6 old: 7.2.411-1.8.el6 vim-filesystem: ---------- new: 7.4.629-5.el6 old:五、salt-key参数1、salt-key常用选项 -L, --list-all #显示已经或未认证的被控端id,Accepted Keys为已认证清单;Unaccepted Keys为未认证清单 -a ACCEPT, --accept=ACCEPT #接受单个id证书请求 -A, --accept-all #接受所有id证书请求 -r REJECT, --reject=REJECT#拒绝指定的公钥 -R, --reject-all #拒绝所有正在请求的公钥 -d DELETE, --delete=DELETE #删除指定的公钥 -D, --delete-all #删除所有的公钥2、salt-key返回信息 Accepted Keys:接受的公钥列表或者是被控主机 Unaccepted Keys:未被接受的公钥列表 Rejected Keys:被拒绝的公钥列表
转载于:https://www.cnblogs.com/zclzhao/p/5025453.html
相关资源:JAVA上百实例源码以及开源项目