saltstack部署

saltstack简介
  • 作为一个运维人员,很大一部分工作是在业务的配置管理和状态维护以及版本发布上,而当业务场景及公司规模上了一定规模后,人为手工的去做这些工作将变得极其困难,此时我们将需要利用一些自动化运维的工具来达到批量管理的目的。

常用的自动化运维工具有:

  • ansible
  • puppet
  • saltstack
    此三款属同类工具,皆可用来提高运维管理的效率,但它们又各有优势,目前主流的自动化运维工具是ansible和saltstack。其中ansible无需安装客户端,这是其最大的优势,而saltstack则需要安装客户端工具,类似zabbix的agent。应用场景方面,ansible常用于小型企业,而saltstack则常用于中大型企业。但不论其特点如何,本质上均属同类,所以只需要掌握一种即可轻松胜任运维工作。
saltstack部署
环境说明:
主机类型IP系统
控制机192.168226.128redhat7
被控机192.168.226.129redhat7
  • 在控制机上安装saltstack主控端软件
//安装软件包
[root@master ~]# yum -y install epel-release 
[root@master ~]# yum -y install salt salt-cloud salt-master salt-minion salt-ssh salt-syndic

//修改主控端的配置文件
[root@master ~]# sed -i '/^#master:/a master: 192.168.226.128' /etc/salt/minion
[root@master ~]# sed -n '/^master/p' /etc/salt/minion
master: 192.168.226.128

//启动salt-master和salt-minion,并设置开机自启
[root@master ~]# systemctl start salt-master
[root@master ~]# systemctl start salt-minion
[root@master ~]# systemctl enable salt-master
Created symlink from /etc/systemd/system/multi-user.target.wants/salt-master.service to /usr/lib/systemd/system/salt-master.service.
[root@master ~]# systemctl enable salt-minion
Created symlink from /etc/systemd/system/multi-user.target.wants/salt-minion.service to /usr/lib/systemd/system/salt-minion.service.

[root@master ~]# ss -antl
State      Recv-Q Send-Q Local Address:Port               Peer Address:Port              
LISTEN     0      128          *:22                       *:*                  
LISTEN     0      100          *:4505                     *:*                  
LISTEN     0      100    127.0.0.1:25                       *:*                  
LISTEN     0      100          *:4506                     *:*                  
LISTEN     0      128         :::22                      :::*                  
LISTEN     0      100        ::1:25                      :::*    


  • 在被控机上安装salt-minion客户端
//安装软件包
[root@minion ~]# yum -y install epel-release
[root@minion ~]# yum -y install salt-minion

//修改配置文件
[root@minion ~]# sed -i '/^#master:/a master: 192.168.226.128' /etc/salt/minion
[root@minion ~]# sed -n '/^master/p' /etc/salt/minion
master: 192.168.226.128

//启动服务
[root@minion ~]# systemctl start salt-minion
[root@minion ~]# systemctl enable salt-minion
Created symlink from /etc/systemd/system/multi-user.target.wants/salt-minion.service to /usr/lib/systemd/system/salt-minion.service.

saltstack证书管理

saltstack主控端是依靠openssl证书来与受控端主机认证通讯的,受控端启动后会发送给主控端一个公钥证书文件,在主控端用salt-key命令来管理证书。

salt-minion与salt-master的认证过程:
  • minion在第一次启动时,会在/etc/salt/pki/minion/下自动生成一对密钥,然后将公钥发给master
  • master收到minion的公钥后,通过salt-key命令接受该公钥。此时master的/etc/salt/pki/master/minions目录将会存放以minion id命名的公钥,然后master就能对minion发送控制指令了
//查看当前证书
[root@master ~]# salt-key -L
Accepted Keys:
Denied Keys:
Unaccepted Keys:
master
minion
Rejected Keys:

//接受指定minion的新证书
[root@master ~]# salt-key -ya minion
The following keys are going to be accepted:
Unaccepted Keys:
minion
Key for minion minion accepted.

[root@master ~]# salt-key -L
Accepted Keys:
minion
Denied Keys:
Unaccepted Keys:
master
Rejected Keys:

//接受所有minion的新证书
[root@master ~]# salt-key -yA
The following keys are going to be accepted:
Unaccepted Keys:
master
Key for minion master accepted.
[root@master ~]# salt-key -L
Accepted Keys:
master
minion
Denied Keys:
Unaccepted Keys:
Rejected Keys:

//测试指定受控端主机是否存活
[root@master ~]# salt "minion" test.ping
minion:
    True
[root@master ~]# salt "minion" cmd.run hostname
minion:
    minion

//测试所有受控端主机是否存活
[root@master ~]# salt '*' test.ping
minion:
    True
master:
    True

安装完成。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值