slatstack是一个基础管理平台 是一个配置管理系统,能够预定义状态的远程结点 是一个分布式远程执行系统,用来在远程结点上执行命令和查询数据
slatstack核心功能:使用命令发送到远程系统是并行而不是串行
使用安全加密协议
使用最小最快的网络载荷
提供简单的编程接口
slatstack优点:
使用python开发,轻量级
底层采用zeromq,实现是的它很快速
开源,通过python写自己的模块
slatstack端口说明:
salt-maste:4505为salt消息发布专用端口
4506为客户端与服务端通信端口
1.安装saltstack
1.1安装yum源
使用的是阿里epel6的yum源 http://mirrors.aliyun.com/epel/6Server/x86_64/
解决一些依赖关系使用阿里的centos6的yum源 http://mirrors.aliyun.com/centos/6/os/x86_64/
[root@slat-master ~]# yum install salt-master -y
[root@slat-minion~]# yum install salt-minion -y
安装完毕会有一套关于salt的命令
[root@salt-master ~]# salt
salt salt-call salt-cp salt-key salt-master salt-minion salt-run salt-unity
salt主要指令
salt-key管理密钥
修改minion端配置文件
master:ip/fqdn name
id:默认主机名
[root@salt-master ~]# vim /etc/salt/minion
master: salt-master
启动master
[root@salt-master ~]# /etc/init.d/salt-master start
Starting salt-master daemon: [ OK ]
启动minion
[root@salt-master ~]# /etc/init.d/salt-minion start
Starting salt-minion daemon: [ OK ]
可以修改服务端配置文件的日志等级或者路径来观察启动情况
查看端口
[root@salt-master ~]# netstat -lnt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:4505 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:4506 0.0.0.0:* LISTEN
tcp 0 0 :::22 :::* LISTEN tcp 0 0 ::1:25 :::* LISTEN
第一个指令 salt-key
常用参数
Actions: -l ARG, --list=ARG List the public keys. The args "pre", "un", and "unaccepted" will list unaccepted/unsigned keys. "acc" or "accepted" will list accepted/signed keys. "rej" or "rejected" will list rejected keys. "den" or "denied" will list denied keys. Finally, "all" will list all keys.
-L, --list-all List all public keys. (Deprecated: use "--list all")
-a ACCEPT, --accept=ACCEPT Accept the specified public key (use --include-all to match rejected keys in addition to pending keys). Globs are supported.
-A, --accept-all Accept all pending keys
-r REJECT, --reject=REJECT Reject the specified public key (use --include-all to match accepted keys in addition to pending keys). Globs are supported.
-R, --reject-all Reject all pending keys
-d DELETE, --delete=DELETE Delete the specified key. Globs are supported.
-D, --delete-all Delete all keys [root@salt-master ~]# salt-key -L Accepted Keys: Denied Keys: Unaccepted Keys: salt-minion Rejected Keys:
添加密钥
[root@salt-master ~]# salt-key -a salt-minion
The following keys are going to be accepted:
Unaccepted Keys: salt-minion Proceed? [n/Y] y
Key for minion
salt-minion accepted.
2测试指令
[root@salt-master ~]# salt '*' test.ping
salt-minion: True
*其实是匹配所有id 其实是minion去ping master
[root@salt-master ~]# salt '*' cmd.run 'uptime'
salt-minion: 00:55:23 up 27 min, 2 users, load average: 0.04, 0.03, 0.05
如果换了master主机应该怎么操作
1.新服务器安装salt-master
2.打包原master的pki目录,并拷贝到新的master上的配置目录下进行解压
3.修改minion端的master主机名映射即可完成迁移
例如 master 192.168.1.1 100
.salt '*' cmd.run "sed -i s/100/200/ /etc/hosts"
2.salt '*' service.restart salt-minion
这样就完成所有minion端对于master的ip地址改变,然后重启minion端就可以连接到新的master端上
注意:
修改主机名的话
minion端
1./etc/salt/minion_id删除或者清空
2./etc/salt/pki 删除或者清空
3.master上salt-key -d old-host 清除这个主机
重启minion
来源:oschina
链接:https://my.oschina.net/u/2343011/blog/703837