新机器的添加,旧机器的迭代使用,坏机器的替换,这些都是生产环境的常规操作。而为了保证通信的保密性,master和minion会互相交换public key,机器的加减换都涉及到对应的key操作,不然可能会影响通信。这一节我们就一起来看看key相关的一些操作。
我是T型人小付,一位坚持终身学习的互联网从业者。喜欢我的博客欢迎在csdn上关注我,如果有问题欢迎在底下的评论区交流,谢谢。
文章目录
key管理
由于是双向加密,master会把自己的public key传递给minion,minion也会把自己的public key传递给master。
key存储的位置可以分别在master和minion的配置文件中的pki_dir配置项来指定,默认情况下master端存储在/etc/salt/pki/master目录,minion端存储在/etc/salt/pki/minion目录。
master端
master端的目录/etc/salt/pki/master结构如下
root@saltmaster:/etc/salt/pki/master# ll
total 36
drwx------ 7 root root 4096 Feb 1 11:49 ./
drwx------ 3 root root 4096 Feb 1 11:48 ../
-r-------- 1 vagrant vagrant 1700 Feb 1 11:46 master.pem
-rw-rw-r-- 1 vagrant vagrant 458 Feb 1 11:46 master.pub
drwx------ 2 root root 4096 Feb 1 11:48 minions/
drwxr-xr-x 2 root root 4096 Feb 1 11:49 minions_autosign/
drwxr-xr-x 2 root root 4096 Feb 1 11:49 minions_denied/
drwxr-xr-x 2 root root 4096 Feb 1 11:49 minions_pre/
drwxr-xr-x 2 root root 4096 Feb 1 11:49 minions_rejected/
其中主要是下面两个要注意
- master.pub - master的public key,会传递到minion端
- minions - 已经接受的minion的key存放在这
进入minions目录,发现以minion的id为名字每个minion对应一个文件,这些文件就是minion的public key
root@saltmaster:/etc/salt/pki/master/minions# ll
total 16
drwx------ 2 root root 4096 Feb 1 11:48 ./
drwx------ 7 root root 4096 Feb 1 11:49 ../
-rw-rw-r-- 1 root root 458 Feb 1 11:46 minion1
-rw-rw-r-- 1 root root 458 Feb 1 11:46 minion2
这里分别把我这个演示环境的master的public key和minion1的public key的md5显示出来用来在下面minion1端的key进行对比验证
root@saltmaster:/etc/salt/pki/master# md5sum master.pub
12ce6a661a39b3f6d27f92112fc300db master.pub
root@saltmaster:/etc/salt/pki/master/minions# md5sum minion1
b2edc7a44e80b677edb8455dab44f3f2 minion1
minion端
minion端的目录/etc/salt/pki/minion结构如下
root@minion1:/etc/salt/pki/minion# ll
total 20
drwx------ 2 root root 4096 Feb 1 11:55 ./
drwx------ 3 root root 4096 Feb 1 11:54 ../
-rw-r--r-- 1 root root 458 Feb 1 11:55 minion_master.pub
-r-------- 1 vagrant vagrant 1704 Feb 1 11:51 minion.pem
-rw-rw-r-- 1 vagrant vagrant 458 Feb 1 11:51 minion.pub
其中
- minion_master.pub - master端传递过来的public key
- minion.pub - minion的public key
这里也分别把这两个文件的md5显示出来和上面master端的对比
root@minion1:/etc/salt/pki/minion# md5sum minion_master.pub
12ce6a661a39b3f6d27f92112fc300db minion_master.pub
root@minion1:/etc/salt/pki/minion# md5sum minion.pub
b2edc7a44e80b677edb8455dab44f3f2 minion.pub
发现和上面master端的md5可以对的上。
如果涉及到修改minion id之类的操作后,出现执行命令minion端没有响应的现象,但是key已经被成功接受,可以通过检查key的md5来验证。
salt-key常用指令
和key相关的操作都由salt-key命令来实现
salt-key -h 查看帮助文档
salt-key -L 列出所有的key
salt-key -A 接受所有的key
salt-key -a id 接受单个key
salt-key -d id 删除单个key
salt-key -D 删除所有的key
每个新的salt-minion服务起来的时候都会自动去搜寻master,在master端会看到一个新的未接受的key,例如我添加一个新的minion2以后
root@saltmaster:/etc/salt/pki/master# salt-key -L
Accepted Keys:
minion1
Denied Keys:
Unaccepted Keys:
minion2
Rejected Keys:
接受新的key
root@saltmaster:/etc/salt/pki/master# salt-key -A
The following keys are going to be accepted:
Unaccepted Keys:
minion2
Proceed? [n/Y] y
Key for minion minion2 accepted.
root@saltmaster:/etc/salt/pki/master# salt-key -L
Accepted Keys:
minion1
minion2
Denied Keys:
Unaccepted Keys:
Rejected Keys:
如果一不小心删除了某个minion的key,可以通过重启该minion的salt-minion服务去重新添加key
修改minion id
在部署初期的时候,设置合理辨识度高的机器hostname就是非常重要的事情。minion会自动采用机器的hostname去做为默认id,这样就省略了后续修改id的必要。
但是,有可能一台机器被复用做不同功能的服务,那么这时候修改该机器的id就必不可少。
我这边以修改minion1的id为例进行操作
1. 停掉minion端salt-minion服务
root@minion1:/home/vagrant# systemctl stop salt-minion
2. master端删除minion的key
root@saltmaster:/home/vagrant# salt-key -d minion1
The following keys are going to be deleted:
Accepted Keys:
minion1
Proceed? [N/y] y
Key for minion minion1 deleted.
3. 修改minion的id
root@minion1:/etc/salt# cat minion | grep ^id
id: minion1_new
4. 启动minion端salt-minion服务
root@minion1:/etc/salt# systemctl start salt-minion
5. master端重新接受key
root@saltmaster:/home/vagrant# salt-key -L
Accepted Keys:
minion2
Denied Keys:
Unaccepted Keys:
minion1_new
Rejected Keys:
root@saltmaster:/home/vagrant# salt-key -A
The following keys are going to be accepted:
Unaccepted Keys:
minion1_new
Proceed? [n/Y] y
Key for minion minion1_new accepted.
需要说明的是这里修改前后minion的public key的md5是一致的。
机器替换
如果一台机器坏掉了,要替换新的机器,步骤和上面修改id的一致,只不过修改前后minion的public key的md5会变化,需要额外注意。
:key管理和id修改&spm=1001.2101.3001.5002&articleId=104138930&d=1&t=3&u=fc177d64ac814f7ab26f98b8cbe453e9)
5513

被折叠的 条评论
为什么被折叠?



