服务器:
系统 外网IP 内网IP 角色 厂商
Centos7 112.126.98.94 172.17.35.130 Master 阿里云
Centos7 49.233.77.254 172.21.0.14 minion 腾讯云
1、关闭两台服务器的firewalld、selinux
在Master端安装salt-master(安不安装salt-minion都行):
[root@iZ2ze79729b8t79g2a81p8Z ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
[root@iZ2ze79729b8t79g2a81p8Z ~]# yum install -y salt-master salt-minion
2、修改salt-master的配置文件:
[root@iZ2ze79729b8t79g2a81p8Z ~]# vim /etc/salt/master
215 auto_accept: True ##此参数不建议开启,开启后不用进行接受key,会自动接受key
406 file_roots:
407 base:
408 - /srv/salt ##根据自己的路径进行修改,目录不会创建,需要自行创建。
529 pillar_roots
530 base:
531 - /srv/pillar ##根据自己的路径进行修改,目录不会创建,需要自行创建。
3、启动salt-master:
[root@iZ2ze79729b8t79g2a81p8Z ~]# systemctl start salt-master && systemctl enable salt-master
[root@iZ2ze79729b8t79g2a81p8Z ~]# netstat -utpln | grep python
tcp 0 0 0.0.0.0:4505 0.0.0.0:* LISTEN 2337/python
tcp 0 0 0.0.0.0:4506 0.0.0.0:* LISTEN 2350/python
4、在Minion端安装salt-minion:
[root@VM_0_14_centos ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
[root@VM_0_14_centos ~]# yum install -y salt-minion
5、修改minion的配置文件(末尾添加或配置文件中找到修改都可):
[root@VM_0_14_centos ~]# vim /etc/salt/minion
master: 112.126.98.94 ##salt-master的IP
id: salt ##在执行salt-key时所显示的名称
6、启动salt-minion:
[root@VM_0_14_centos ~]# systemctl start salt-minion && systemctl enable salt-minion
7、在Master端执行命令查看是否有key(因为我上卖弄开启了自动接受所以salt直接就自动接受了):
root@iZ2ze79729b8t79g2a81p8Z ~]# salt-key -L
Accepted Keys:
salt
Denied Keys:
Unaccepted Keys:
Rejected Keys:
如果没有开的话就 salt-key -a ‘key’
slat-key命令详解:
[root@localhost ~]$ salt-key -L # 查看有哪些minion公钥过来进行认证
Accepted Keys: # Accepted Keys 表示已经接受的公钥
Denied Keys: # Denied Keys 表示已经拒绝的公钥
Unaccepted Keys: # Unaccepted Keys 表示还没有被接受的公钥
Rejected Keys: # Rejected Keys 表示已经被拒绝的公钥
# Deny 是直接把包丢掉,不会有任何回应,相对粗暴点,而 Reject 则是会通知对方你的包被我拒绝了
salt-key 常用参数:
-L # 列出所有未被接受的公钥
-a # 接受(Accept)指定的主机公钥,后面接主机名
-r # 拒绝(Reject)指定的主机公钥,后面接主机名
-d # 拒绝(Deny)指定的主机公钥,后面接主机名
-A # 接受(Accept)所有的主机公钥
-R # 拒绝(Reject)所有的主机公钥
-D # 拒绝(Deny)所有的主机公钥
-y # 我们在接受主机公钥时需要按y确认,加上该参数可以省略交互
在Master上执行命令进行测试:
[root@iZ2ze79729b8t79g2a81p8Z salt]# salt 'salt' test.ping
salt:
True
[root@iZ2ze79729b8t79g2a81p8Z salt]# salt 'salt' cmd.run 'df -h'
salt:
Filesystem Size Used Avail Use% Mounted on
devtmpfs 909M 0 909M 0% /dev
tmpfs 920M 36K 920M 1% /dev/shm
tmpfs 920M 456K 919M 1% /run
tmpfs 920M 0 920M 0% /sys/fs/cgroup
/dev/vda1 50G 2.0G 46G 5% /
tmpfs 184M 0 184M 0% /run/user/0