CentOS6.6中saltstack的安装配置与使用

↘锁芯ラ 提交于 2020-01-04 01:10:15

1 saltstack简介

SaltStack是一个服务器基础架构集中化管理平台,具备配置管理、远程执行、监控等功能,基于Python语言实现,结合轻量级消息队列(ZeroMQ)与Python第三方模块(Pyzmq、PyCrypto、Pyjinjia2、python-msgpack和PyYAML等)构建。

通过部署SaltStack,我们可以在成千万台服务器上做到批量执行命令,根据不同业务进行配置集中化管理、分发文件、采集服务器数据、操作系统基础及软件包管理等,SaltStack是运维人员提高工作效率、规范业务配置与操作的利器。

2 环境

主机名 IP 安装软件
salt-master1 172.16.159.143 salt-master
salt-minion-web1 172.16.159.144 salt-minion
salt-minion-web2 172.16.159.145 salt-minion

3 配置hosts

如果内网是dns的不用配置hosts。在172.16.159.143,172.16.159.144,172.16.159.145三台机器上面配置hosts
vi /etc/hosts

172.16.159.143 salt-master1
172.16.159.144 salt-minion-web1
172.16.159.145 salt-minion-web2

4 安装

4.1 安装salt-master

登录到172.16.159.143

# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
# yum -y install salt-master
# chkconfig salt-master on
# chkconfig --list salt-master

4.2 安装salt-minion

登录到172.16.159.144,172.16.159.145

# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
# yum -y install salt-minion
# chkconfig salt-minion on
# chkconfig --list salt-minion

5 配置与启动

5.1 配置salt-master

登录到172.16.159.143

# cp /etc/salt/master /etc/salt/master.bak
# vim /etc/salt/master

去掉file_roots注释

file_roots:
  base:
    - /srv/salt

去掉pillar_roots注释

pillar_roots:
  base:
    - /srv/pillar

5.2 启动salt-master

# /etc/init.d/salt-master start

5.3 配置salt-minion

登录到172.16.159.144,172.16.159.145

# cp /etc/salt/minion /etc/salt/minion.bak
# vim /etc/salt/minion

配置master

master: salt-master1

5.4 启动salt-minion

# /etc/init.d/salt-minion start

6 使用

登录到172.16.159.143的salt-master

6.1 显示所有minion认证信息

[root@salt-master1 ~]# salt-key
Accepted Keys:
Denied Keys:
Unaccepted Keys:
salt-minion-web1
salt-minion-web2
Rejected Keys:
[root@salt-master1 ~]#

6.2 添加认证信息

[root@salt-master1 ~]# salt-key -a salt-minion-web1
The following keys are going to be accepted:
Unaccepted Keys:
salt-minion-web1
Proceed? [n/Y] y
Key for minion salt-minion-web1 accepted.
[root@salt-master1 ~]#

再次查看所有认证信息。发现salt-minion-web1已经认证,salt-minion-web2还没有认证。

[root@salt-master1 ~]# salt-key
Accepted Keys:
salt-minion-web1
Denied Keys:
Unaccepted Keys:
salt-minion-web2
Rejected Keys:
[root@salt-master1 ~]#
# salt-key -A   #接受所有Unaccepted状态的minion认证信息

7 命令

7.1 简单命令

7.1.1 主机是否通(test.ping)

[root@salt-master1 ~]#  salt '*' test.ping
salt-minion-web2:
    True
salt-minion-web1:
    True

7.1.2 执行命令(cmd.run)

全部

[root@salt-master1 ~]#  salt '*' cmd.run 'ls /tmp'
salt-minion-web1:
    cachecloud
    yum.log
salt-minion-web2:
    cachecloud
    yum.log
[root@salt-master1 ~]#

匹配

[root@salt-master1 ~]#  salt 'salt-minion-web1' cmd.run 'ls /tmp'
salt-minion-web1:
    cachecloud
    yum.log
[root@salt-master1 ~]#  salt 'salt-*-web1' cmd.run 'ls /tmp'
salt-minion-web1:
    cachecloud
    yum.log
[root@salt-master1 ~]#

7.2 其它命令

1.通配符匹配方式

//*代表匹配所有主机
[root@salt0-master ~]# salt '*' test.ping
[root@salt0-master ~]# salt 'salt1-minion.example.com' test.ping 
[root@salt0-master ~]# salt 'salt1*' test.ping 
[root@salt0-master ~]# salt 'salt[1|2]*' test.ping 
[root@salt0-master ~]# salt 'salt?-minion.example.com' test.ping 
[root@salt0-master ~]# salt 'salt[!1|2]-minion.example.com' test.ping

2.列表匹配方式

[root@salt0-master ~]# salt -L 'salt1-minion.example.com,salt2-minion.example.com' test.ping

3.正则表达式

[root@salt0-master ~]# salt -E 'salt(1|2|3|4)*' test.ping 
[root@salt0-master ~]# salt -E 'salt(1|2|3|4)-minion.example.com' test.ping

4.IP匹配方式

[root@salt0-master ~]# salt -S '192.168.70.0/24' test.ping
[root@salt0-master ~]# salt -S '192.168.70.171' test.ping

5.分组匹配方式

[root@salt0-master ~]# vi /etc/salt/master
nodegroups:
  webserver: 'salt1-minion.example.com,salt2-minion.example.com'
  dbserver: 'L@salt1-minion.example.com,salt2-minion.example.com or salt3*'
  ftpserver: 'G@os:centos and salt1-minion.example.com'
[root@salt0-master ~]# systemctl restart salt-master
[root@salt0-master ~]# salt -N 'webserver' test.ping

6.Grains匹配方式

[root@salt0-master ~]# salt -G 'os:centos' test.ping 
[root@salt0-master ~]# salt -G 'fqdn_ip4:192.168.70.174' test.ping

8 参考文档

《CentOS-6.5-saltstack-安装》
https://www.cnblogs.com/hwlong/p/5790918.html

《Saltstack远程执行》
https://www.cnblogs.com/henrylinux/p/11498085.html

技术交流

CleverCode是一名架构师,技术交流,咨询问题,请加CleverCode创建的qq群(架构师俱乐部):517133582。加群和腾讯,阿里,百度,新浪等公司的架构师交流。【架构师俱乐部】宗旨:帮助你成长为架构师!
在这里插入图片描述

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!