默认: 0.0.0.0
(所有的网络接口都可访问)
绑定本地接口
interface: 192.168.200.132
MASTER
缺省:salt
主机名或者master的IPV4地址。
缺省:salt
master: 192.168.200.132 //这个master的地址填上salt-master的ip地址
在Salt minions端没有设置防火墙的必要。下面的配置只是涉及master。
firewall-cmd --permanent --zone=<zone> --add-port=4505-4506/tcp
//如果没有区域可以去掉--zone
firewall-cmd --permanent --add-port=4505-4506/tcp
# Allow Minions from these networks
iptables -I INPUT -s 10.1.2.0/24 -p tcp -m multiport --dports 4505,4506 -j ACCEPT
iptables -I INPUT -s 10.1.3.0/24 -p tcp -m multiport --dports 4505,4506 -j ACCEPT
# Allow Salt to communicate with Master on the loopback interface
iptables -A INPUT -i lo -p tcp -m multiport --dports 4505,4506 -j ACCEPT
# Reject everything else
iptables -A INPUT -p tcp -m multiport --dports 4505,4506 -j REJECT
iptables -A INPUT -m state --state new -m tcp -p tcp --dport 4505 -j ACCEPT
iptables -A INPUT -m state --state new -m tcp -p tcp --dport 4506 -j ACCEPT
Salt在Master和Minion之间的通讯采用AES加密. 这就确保了发送给minions的命令不会被篡改, Master和Minion之间的通讯认证通过信任的已接受的key进行管理.
在发送给Minion之前,需要确保minion的key已经被Master所接受. 运行 salt-key
命令将列出Salt Master已知的所有keys
[root@node01 salt]# salt-key -L
Accepted Keys:
node01
Denied Keys:
Unaccepted Keys:
node02
Rejected Keys:
使用salt-key -A
来接受key以使Mionions可以被Master管控
[root@node01 salt]# salt-key -A
The following keys are going to be accepted:
Unaccepted Keys:
node02
Proceed? [n/Y]
输入y
接受
[root@node01 salt]# salt-key -A
The following keys are going to be accepted:
Unaccepted Keys:
node02
Proceed? [n/Y] y
Key for minion node02 accepted.
当然可以使用salt-key -a
来使用通配符来选择接受 , 具体命令可以使用帮助查看salt-key -h
salt '*' test.ping
如果成功则显示true
,我在本机测试如下:
[root@node01 salt]# salt \* test.ping
node01:
True
node02:
True
如果minion一直识别不了 , 表现为执行salt-key -L
,命令输出中 Unaccepted Keys
的没有minion的, 可以去查看日志
查看minion报错日志
tail /var/log/salt/minion
如果出现的报错是这样的
[ERROR ][4076] Error while bringing up minion for multi-master
则就是防火墙和iptables没有搞好 , 可以去添加防火墙和iptables规则 , 在学习的过程中 , 如果嫌麻烦可以直接关掉防火墙
systemctl stop firewalld