CentOS 7下SaltStack安装配置详解

首先,他速度快,基于消息队列+线程,跑完多台设备,都是毫秒级别的

其次,非常灵活,源码是python,方便理解和自定义模块(python 语言相对于其他的perl、ruby等还是很好理解的)

命令简单,功能强大

saltstack运行方式

Local

Master/Minion

Salt SSH

本文使用Master/Minion运行方式。

saltstack三大功能

远程执行

配置管理

云管理

saltstack数据系统

Grains (静态数据)

pillar (动态数据)

saltstack配置管理

SLS(YAML、Jinja)

Highstate

States Module

实现环境

准备三台机器,这三台机器都关闭 selinux,清空防火墙规则。

saltstack ==> 172.16.0.19 (服务端)

client1 ==> 172.16.0.20 (客户端)

client2 ==> 172.16.0.21 (客户端)

查看版本和内核

[root@saltstack ~]# cat /etc/RedHat-release CentOS Linux release 7.3.1611 (Core) [root@saltstack ~]# uname -rm 3.10.0-514.6.1.el7.x86_64 x86_64

分别设置 hostname,设置完毕xshell注销重新连接一下

[root@saltstack ~]# hostnamectl set-hostname saltstack [root@client1 ~]# hostnamectl set-hostname client1 [root@client2 ~]# hostnamectl set-hostname client2

编辑 hosts 文件
每台都设置,若机器太多,可以通过搭建 DNS,则不用在每台机器上设置这个

[root@saltstack ~]# vi /etc/hosts 添加下面内容 172.16.0.19 saltstack 172.16.0.20 client1 172.16.0.21 client2 开始安装

分别为三台机器添加阿里云epel源

[root@saltstack ~]# mv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.backup [root@saltstack ~]# mv /etc/yum.repos.d/epel-testing.repo /etc/yum.repos.d/epel-testing.repo.backup [root@saltstack ~]# wget -O /etc/yum.repos.d/epel.repo

服务端安装

[root@saltstack ~]# yum -y install salt-master salt-minion

客户端安装

[root@client1 ~]# yum -y install salt-minion

客户端安装

[root@client2 ~]# yum -y install salt-minion 配置master

服务端和客户端都要配置

[root@saltstack ~]# vi /etc/salt/minion +16 以下两种方式都可以,选择其中一种即可 # master改为服务端的主机名 master: saltstack # master改为服务端的IP master: 172.16.0.19

分别修改三台机器minion文件中的的id为自己的主机名

[root@client1 ~]# vi /etc/salt/minion +78 id: client1 [root@client2 ~]# vi /etc/salt/minion +78 id: client2

启动saltstack服务
服务端

[root@saltstack ~]# systemctl enable salt-master [root@saltstack ~]# systemctl enable salt-minion [root@saltstack ~]# systemctl start salt-master [root@saltstack ~]# systemctl start salt-minion

客户端

[root@client1 ~]# systemctl enable salt-minion [root@client1 ~]# systemctl start salt-minion 配置认证

服务端操作

[root@saltstack ~]# salt-key -a client1 The following keys are going to be accepted: Unaccepted Keys: client1 Proceed? [n/Y] y Key for minion client1 accepted. [root@saltstack ~]# salt-key -a client2 The following keys are going to be accepted: Unaccepted Keys: client2 Proceed? [n/Y] y Key for minion client2 accepted. [root@saltstack ~]# salt-key -a saltstack The following keys are going to be accepted: Unaccepted Keys: saltstack Proceed? [n/Y] y Key for minion saltstack accepted. [root@saltstack ~]# salt-key Accepted Keys: client1 client2 saltstack Denied Keys: Unaccepted Keys: Rejected Keys:

说明:-a :accept ,-A:accept-all,-d:delete,-D:delete-all。可以使用 salt-key 命令查看到已经签名的客户端。此时我们在客户端的 /etc/salt/pki/minion 目录下面会多出一个minion_master.pub 文件。

测试验证
示例1: salt '*' test.ping //检测通讯是否正常,也可以指定其中一个 'client1'

[root@saltstack ~]# salt '*' test.ping saltstack: True client2: True client1: True [root@saltstack ~]# salt 'client1' test.ping client1: True

示例2: salt '*' cmd.run 'df -h' //远程执行命令

[root@saltstack ~]# salt '*' cmd.run 'df -hT' client2: Filesystem Type Size Used Avail Use% Mounted on /dev/sda2 xfs 17G 13G 4.2G 76% / devtmpfs devtmpfs 97M 0 97M 0% /dev tmpfs tmpfs 111M 12K 111M 1% /dev/shm tmpfs tmpfs 111M 8.8M 102M 8% /run tmpfs tmpfs 111M 0 111M 0% /sys/fs/cgroup /dev/sda1 xfs 297M 202M 96M 68% /boot tmpfs tmpfs 23M 0 23M 0% /run/user/0 saltstack: Filesystem Type Size Used Avail Use% Mounted on /dev/sda2 xfs 17G 6.8G 11G 40% / devtmpfs devtmpfs 475M 0 475M 0% /dev tmpfs tmpfs 489M 16K 489M 1% /dev/shm tmpfs tmpfs 489M 14M 476M 3% /run tmpfs tmpfs 489M 0 489M 0% /sys/fs/cgroup /dev/sda1 xfs 297M 202M 96M 68% /boot tmpfs tmpfs 98M 0 98M 0% /run/user/0 tmpfs tmpfs 98M 0 98M 0% /run/user/994 client1: Filesystem Type Size Used Avail Use% Mounted on /dev/sda2 xfs 17G 13G 4.1G 77% / devtmpfs devtmpfs 97M 0 97M 0% /dev tmpfs tmpfs 111M 12K 111M 1% /dev/shm tmpfs tmpfs 111M 13M 98M 12% /run tmpfs tmpfs 111M 0 111M 0% /sys/fs/cgroup /dev/sda1 xfs 297M 202M 96M 68% /boot tmpfs tmpfs 23M 0 23M 0% /run/user/0

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/d65a2333685a5810abda9cb748a6e6b2.html