系统 ubuntu14.04
下载saltstack仓库:
wget -O - https://repo.saltstack.com/apt/ubuntu/16.04/amd64/latest/SALTSTACK-GPG-KEY.pub | sudo apt-key add -
vim /etc/apt/sources.list.d/saltstack.list:
deb http://repo.saltstack.com/apt/ubuntu/16.04/amd64/latest xenial main
首先安装组件:
apt-get install salt-master
apt-get install salt-minion -y
apt-get install salt-ssh -y
apt-get install salt-syndic -y
apt-get install salt-cloud -y
apt-get install salt-api -y
客户端启动:
root@ubuntu1:~# service salt-minion restart #或者salt-minion -d
服务端启动:
root@ubuntu1:~# service salt-master restart #或者salt-master -d 启动加上--log-level=bug可以查看日志
修改master的配置文件/etc/salt/master:
interface: 192.168.190.128 #改为机ip地址,冒号后面必须要有空格
修改minion的配置文件/etc/salt/minion:
master:192.168.190.128
权限目录设置:
- /etc/salt
- /var/cache/salt
- /var/log/salt
- /var/run/salt
获取master上的key fingerprint:
root@ubuntu:/etc/salt# salt-key -F master
Local Keys:
master.pem: 4f:d8:66:42:cb:fe:02:a7:a0:24:ac:d8:d0:6d:0e:c9
master.pub: 1d:09:9e:5d:0d:36:6a:f8:e9:d7:25:de:e0:2e:09:20
将master.pub的value写到minion的配置文件的master_finger后面,然后重启服务。
在minion上执行salt-call --local key.finger:
root@ubuntu1:~# salt-call --local key.finger
local:
0f:63:7b:9c:a6:22:71:1e:f6:37:0c:08:69:5c:41:bd:f4:10:4b:9c:92:c3:bd:ef:e8:62:e4:e7:a7:87:4e:08
现在做了认证,但是还无法master与minion免密码通信我们可以通过以下命令看下:
root@ubuntu:/etc/salt# salt-key -L
Accepted Keys:
Unaccepted Keys:
ubuntu1
Rejected Keys:
验证也可以不用master.pub的value写到minion的配置文件的master_finger后面,讲minion配置文件的一项 “id”后面加上本机的hostname.也可以
可以看到 ubuntu1是不被接受的,现在我们要让master接受minion(ubuntu1),在master上执行下面命令:
root@ubuntu:/etc/salt# salt-key -A
The following keys are going to be accepted:
Unaccepted Keys:
ubuntu1
Proceed? [n/Y] y
Key for minion ubuntu1 accepted.
root@ubuntu:/etc/salt# salt-key -L
Accepted Keys:
ubuntu1
Unaccepted Keys:
Rejected Keys:
salt-key可以单独或者批量的签署认证,批量的话用 -A ,单独的话用 -a keyname.跟多操作在这里:https://docs.saltstack.com/en/latest/ref/cli/salt-key.html#salt-key
如果客户端要重新认证,要用 salt-key -d ubuntu1先删除key,然后重新做认证
发送命令:
root@ubuntu:/etc/salt# salt ubuntu1 test.ping
ubuntu1:
True
成功。