安装说明
我们为了模拟环境开启两台服务器,本次以Centos7 为例
主机名
IP地址
说明
linux-node1.example.com
192.168.56.11
模式:master
linux-node2.example.com
192.168.56.12
模式:minion
官方已经提供了Yum,我们可以指定官方yum源http://repo.saltstack.com/
安装步骤
1、安装指定yum源:
yum install https://repo.saltstack.com/yum/redhat/salt-repo-latest-1.el7.noarch.rpm
2、安装salt
服务器A:yum -y install salt-master salt-minion 服务器B:yum -y install salt-minion
3、服务端启动master
服务器A:yum -y install salt-master salt-minion 服务器B:yum -y install salt-minion
4、修改minion配置文件 vim /etc/salt/minion
master: 192.168.56.11 可以是主机名需要解析(指定服务端的IP地址) id: 唯一标识符,可以不配,不配默认就是主机名
启动服务
[root@linux-node1 ~]# systemctl start salt-minion
启动服务之后会在/etc/salt下面产生一个minion_id的配置文件(里面就是我们配置文件中指定的ID,可以不修改。不修改默认就是主机名)同时还会产生一个pki的文件,里面存放minion的公钥和私钥
5、配置说明
[root@linux-node1 ~]# ll /etc/salt/ total 112 -rw-r----- 1 root root 2626 Jun 11 04:43 cloud drwxr-xr-x 2 root root 6 Jun 14 04:42 cloud.conf.d drwxr-xr-x 2 root root 6 Jun 14 04:42 cloud.deploy.d drwxr-xr-x 2 root root 6 Jun 14 04:42 cloud.maps.d drwxr-xr-x 2 root root 6 Jun 14 04:42 cloud.profiles.d drwxr-xr-x 2 root root 6 Jun 14 04:42 cloud.providers.d -rw-r----- 1 root root 39122 Jun 11 04:43 master drwxr-xr-x 2 root root 6 Jun 14 04:42 master.d -rw-r----- 1 root root 31485 Jun 14 19:19 minion drwxr-xr-x 2 root root 6 Jun 14 04:42 minion.d -rw-r--r-- 1 root root 23 Jun 14 19:19 minion_id drwxr-xr-x 4 root root 32 Jun 14 19:15 pki -rw-r----- 1 root root 26460 Jun 11 04:43 proxy -rw-r----- 1 root root 344 Jun 11 04:43 roster
salt启动之后会先读取minion_id里面的配置
[root@linux-node1 ~]# cat /etc/salt/minion_id linux-node1.example.com
minion在启动的时候建立的
drwxr-xr-x 4 root root 32 Jun 14 19:15 pki ├── pki │ ├── master │ └── minion │ ├── minion.pem 私钥 │ └── minion.pub 公钥
配置完master启动minion的时候就会将公钥发送过去
master讲解
[root@linux-node1 salt]# tree pki/ pki/ ├── master │ ├── master.pem 私钥 │ ├── master.pub 公钥 │ ├── minions │ ├── minions_autosign │ ├── minions_denied │ ├── minions_pre 接收到minion的公钥 等待master的同意 │ │ ├── linux-node1.example.com使用id作为公钥的名称 │ │ └── linux-node2.example.com │ └── minions_rejected └── minion minion的公钥和私钥 ├── minion.pem └── minion.pub
另一台minion也是用相同的配置
vim /etc/salt/minion master: 192.168.56.11 指定服务端 [root@linux-node2 ~]# systemctl start salt-minion 启动服务
6、认证
[root@linux-node1 salt]# salt-key Accepted Keys: 同意的 Denied Keys: 拒绝的 Unaccepted Keys: 等待同意的 linux-node1.example.com linux-node2.example.com Rejected Keys:
同意认证的方法:
分为三种:
[root@linux-node1 salt]# salt-key -A [root@linux-node1 salt]# salt-key -a 指定id [root@linux-node1 salt]# salt-key -a 支持通配符
我们选择比较简单的演示
[root@linux-node1 salt]# salt-key -A The following keys are going to be accepted: Unaccepted Keys: linux-node1.example.com linux-node2.example.com Proceed? [n/Y] Y Key for minion linux-node1.example.com accepted. Key for minion linux-node2.example.com accepted.
salt-key 命令参数介绍
-L 列出所有
-d 删除指定的支持通配符
-D 删除所有
-A 添加所有
-a 指定添加
同意之后生成的文件
pki/ ├── master │ ├── master.pem │ ├── master.pub │ ├── minions │ │ ├── linux-node1.example.com │ │ └── linux-node2.example.com │ ├── minions_autosign │ ├── minions_denied │ ├── minions_pre │ └── minions_rejected └── minion ├── minion_master.pub 同意之后master发送公钥 ├── minion.pem └── minion.pub