Saltstack基本安装认证

原创
2017/04/19 16:43
阅读数 52

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/

或关注我们的官方微博微信,还有更多惊喜哦~

本文出自 “永不放弃!任志远” 博客,谢绝转载!

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部