码迷,mamicode.com
首页 > 其他好文 > 详细

saltstack salt的安装和认证

时间:2017-11-20 20:22:50      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:nginx   for   技术分享   通讯   cte   ini   表示   images   知识点   

参考:http://docs.saltstack.cn

一,安装

  系统的环境为centos6

    master端和minion端都要配置salt的yum源。

下载安装salt源的key,并配置salt源的地址repo

[root@cong-33 nginx]# rpm --import https://repo.saltstack.com/yum/redhat/6/x86_64/latest/SALTSTACK-GPG-KEY.pub

    编写配置salt的repo

[root@cong-33 nginx]# vim /etc/yum.repos.d/saltstack.repo
##写入下面内容

[saltstack-repo]
name=SaltStack repo for RHEL/CentOS $releasever
baseurl=https://repo.saltstack.com/yum/redhat/$releasever/$basearch/latest
enabled=1
gpgcheck=1
gpgkey=https://repo.saltstack.com/yum/redhat/$releasever/$basearch/latest/SALTSTACK-GPG-KEY.pub

 

更新yum的cache

[root@cong-33 nginx]# yum makecache

salt的master端安装:

[root@cong-33 nginx]# yum install -y salt-master

 

salt的minion端安装:

[root@cono-49 ~]# yum install -y salt-minion

 

安装完成后,先配置minion端。

配置minion的id和指导master的地址

[root@cono-49 ~]# vim /etc/salt/minion  ##minion的主要配置文件

技术分享图片

技术分享图片

 

配置好上面的id 选项,master的选项就可以了

配置完成就可以启动了

[root@cono-49 ~]# service salt-minion start

 

master端

master的配置文件时 /etc/salt/master

master可以先不做配置的更改,直接启动

[root@cong-33 nginx]# service salt-master start
##监听2个端口
[root@cong-33 nginx]# netstat -tlnp|grep python
tcp        0      0 0.0.0.0:4505                0.0.0.0:*                   LISTEN      1815/python2.7      
tcp        0      0 0.0.0.0:4506                0.0.0.0:*                   LISTEN      1829/python2.7      
[root@cong-33 nginx]# 

 

通过minion端的key认证

[root@cong-33 nginx]# salt-key -L  ##查看salt的key认证情况
[root@cong-33 nginx]# salt-key -a cong-49 ##通过指定的minion认证,
[root@cong-33 nginx]# salt-key -L
Accepted Keys:     ##已通过认证的minion
cong-49
Denied Keys:
Unaccepted Keys:    ##等待确认的minion
Rejected Keys:
[root@cong-33 nginx]# 

测试master与minion是否正常通讯

[root@cong-33 nginx]# salt * test.ping  ##  ‘*‘ 表示所有的minion,可以输入指定的minion_id,或者使用正则匹配 匹配指定的minion
cong-49:
    True
[root@cong-33 nginx]# 

返回True说明master与minon已经可以正常通讯了。

 

下面写一点salt的相关知识点。

认证过程

启动minion服务后,会产生一个密钥对,然后minion会根据配置的master地址去连接master,并尝试把公钥发给master,minion_id表示minio的身份。

在master上可以使用salt-key来查看密钥认证的情况,直到密钥认证后,master和minion就可以通信了,我们就可以通过state模块来管理minion。

minon密钥目录

[root@cono-49 ~]# ll /etc/salt/pki/minion/
total 12
-rw-r--r--. 1 root root  450 Nov 15 09:59 minion_master.pub  ##认证通过后master发过来的master公钥
-r--------. 1 root root 1674 Nov 15 09:58 minion.pem
-rw-r--r--. 1 root root  450 Nov 15 09:58 minion.pub
[root@cono-49 ~]# 
在minion服务没有启动时,pki目录是不存在的。minion服务启动后,会创建pki目录,minion目录和密钥对。
我们可以把pki目录删除,然后重启服务会重新生成pik目录。
 
master密钥目录
[root@cong-33 nginx]# ll /etc/salt/pki/master/minions
total 4
-rw-r--r--. 1 root root 450 Nov 15 17:59 cong-49  ##已通过的minion密钥
[root@cong-33 nginx]# 
master接受minion的公钥后会存放在/etc/salt/pki/master/minions目录下,以minion的id来命名。
同时master会把自身的公钥发给minion。
 
master端的pki目录千万不要删除,因为这个目录包含了所有minion的认证密钥。不过我们可以删除指定minion的密钥文件。
也可以 用命令salt-key删除指定minion的key认证
 
 
重新认证:
 在master把对应的minion的key删掉: 
salt-key -d 192.168.1.49

查看密钥保存目录是否存在对应mining的密钥key,如果存在删除它 

[root@cong-33 nginx]# ll /etc/salt/pki/master/minions

 

minion端

停止minion服务: 
[root@cono-49 ~]# /etc/init.d/salt-minion stop

删除key目录让其重新生成:

rm -rf /etc/salt/pki

启动服务

/etc/init.d/salt-minion start

 

salt-key命令
salt-key -L  列出master的key认证情况
salt-key -a minion_id  通过指定minion的key认证
salt-key -A   批量通过minion的key认证
salt-key -d minion_id 删除指定minion的key认证
salt-key -D   批量删除minion的key认证

 

 

minion没有监听端口的。minion在通过与master的key认证后一直与master的4505端口保持连接。

master监听4505和4506两个端口,

4505是消息发布端口,

4506是消息接收端口,接收执行返回结果和命令执行情况的

 

saltstack salt的安装和认证

标签:nginx   for   技术分享   通讯   cte   ini   表示   images   知识点   

原文地址:http://www.cnblogs.com/LYCong/p/7867705.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!