安装说明
我们为了模拟环境开启两台服务器,本次以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