2019独角兽企业重金招聘Python工程师标准>>>
1.1 Saltstack介绍
Saltstack 是一个新的基础设施管理工具。目前处于快速发展阶段,可以看做是强化的 Func+弱
化的 Puppet 的组合。间接的反映出了 saltstack 的两大功能:远程执行和配置管理。
Saltstack 使用 Python 开发的,非常简单易用和轻量级的管理工具。由 Master 和 Minion 构成,
通过 ZeroMQ 进行通信。
1.2 Saltstack安装配置
环境
node2 192.168.1.221 mini
node4 192.168.1.223 mini
对于 Centos 和 RedHat 用户,使用 yum 安装时最直接和快捷的。安装最新版本的 epel 仓库
rpm -ivh http://mirrors.ustc.edu.cn/fedora/epel//6/x86_64/epel-release-6-8.noarch.rpm
1.2.1 Master 安装配置
服务器端安装:
1 2 3 4 5 6 7 8 9 10 11 | [root@node2 ~] # rpm -ivh http://mirrors.ustc.edu.cn/fedora/epel//6/x86_64/epel-release-6-8.noarch.rpm Retrieving http: //mirrors .ustc.edu.cn /fedora/epel//6/x86_64/epel-release-6-8 .noarch.rpm warning: /var/tmp/rpm-tmp .69xX8k: Header V3 RSA /SHA256 Signature, key ID 0608b895: NOKEY Preparing... ########################################### [100%] 1:epel-release ########################################### [100%] [root@node2 ~] # [root@node2 ~] # yum install -y salt-master 启动Master服务: [root@node2 ~] # /etc/init.d/salt-master start Starting salt-master daemon: [确定] [root@node2 ~] # |
1.2.2 Minion 安装配置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | [root@node4 ~] # rpm -ivh http://mirrors.ustc.edu.cn/fedora/epel//6/x86_64/epel-release-6-8.noarch.rpm Retrieving http: //mirrors .ustc.edu.cn /fedora/epel//6/x86_64/epel-release-6-8 .noarch.rpm warning: /var/tmp/rpm-tmp .LBQFzi: Header V3 RSA /SHA256 Signature, key ID 0608b895: NOKEY Preparing... ########################################### [100%] 1:epel-release ########################################### [100%] [root@node4 ~] # [root@node4 ~] # yum install –y salt-minion 客户端配置 [root@node4 ~] # vim /etc/salt/minion master: 192.168.1.221(修改 master 为 master 的IP地址) id : (客户端的 id 。默认不设置会取客户端的 FQDN 主机名) 客户端启动 [root@node4 ~] # /etc/init.d/salt-minion start Starting salt-minion daemon: [确定] 客户端日志 [root@node4 ~] # tail -f /var/log/salt/minion 2016-03-25 10:36:29,597 [salt.crypt ][ERROR ][2549] The Salt Master has cached the public key for this node, this salt minion will wait for 10 seconds before attempting to re-authenticate 2016-03-25 10:36:39,616 [salt.crypt ][ERROR ][2549] The Salt Master has cached the public key for this node, this salt minion will wait for 10 seconds before attempting to re-authenticate (注意,需要做认证,日志会报客户端在等待) |
1.3 Master与Minion的通信
1.3.1 Master与 Minion 认证
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | 1.minion 在第一次启动时,会在 /etc/salt/pki/minion/ (该路径在 /etc/salt/minion 里面设置)下自动 生成 minion.pem(private key)和 minion.pub(public key),然后将 minion.pub 发送给 master。 [root@node4 ~] # ll /etc/salt/pki/minion/ 总用量 8 -r-------- 1 root root 1675 3月 25 10:36 minion.pem -rw-r--r-- 1 root root 451 3月 25 10:36 minion.pub [root@node4 ~] # 2.master 在接收到 minion 的 public key 后,通过 salt-key 命令 accept minion public key,这样在master 的 /etc/salt/pki/master/minions 下的将会存放以 minion id 命名的 public key, 然后 master 就能对minion 发送指令了。 1.3.2 Master 与 与 Minion 的连接 Saltstack master 启动后默认监听 4505 和 4506 两个端口。4505(publish_port)为 salt 的消息发布系 统,4506(ret_port)为 salt 客户端与服务端通信的端口。如果使用 lsof 查看 4505 端口,会发现所有的 Minion 在 4505 端口持续保持在 ESTABLISHED 状态。 [root@node2 ~] # netstat -atupn|grep python tcp 0 0 0.0.0.0:4505 0.0.0.0:* LISTEN 2271 /python2 .6 tcp 0 0 0.0.0.0:4506 0.0.0.0:* LISTEN 2289 /python2 .6 [root@node2 ~] # |
1 .4 Master端Key认证
Master 与 Minion 的认证方式,具体的认证命令为 salt-key,常用的有如
下命令。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | -a ACCEPT, --accept=ACCEPT Accept the following key -A, --accept-all Accept all pending keys -r REJECT, --reject=REJECT Reject the specified public key -R, --reject-all Reject all pending keys -d DELETE, --delete=DELETE Delete the named key -D, --delete-all Delete all keys [root@node2 master] # salt-key --accept=node4 The following keys are going to be accepted: Unaccepted Keys: node4 Proceed? [n /Y ] y Key for minion node4 accepted. [root@node2 master] # |
继续学习: Saltstack学习笔记(2)
登录乐搏学院官网http://www.learnbo.com/
或关注我们的官方微博微信,还有更多惊喜哦~
本文出自 “永不放弃!任志远” 博客,谢绝转载!