如何在Centos 7上安装Saltstack

・6 分钟阅读

SaltStack或者Salt是一种流行的开源配置管理解决方案,可用于实现远程执行,配置管理,代码部署等,Salt可以并行管理数万台服务器,由于它易于使用,可伸缩性和高效性,salt被广泛用于管理世界各地的各种基础设施。

在本文中我会向你展示如何在两个Centos7服务器实例上安装Salt,以便实现Salt代理和服务器管理模型,在这个模型中,你会有一个主服务器和一个代理服务器(称为minion ),以后还可以添加更多。

前提条件

在继续之前,我假设你拥有:

  • 在同一个数据中心中部署了两个CentOS 7服务器实例,
  • 在两个服务器实例上设置专用网络,
  • 在两台机器上创建非root的sudo用户,

我们的两个服务器的摘要如下。

SaltStack主服务器:

  • 操作系统Centos 7
  • 主机名:主机
  • 专用IP :10.99.0.10

SaltStack代理服务器1:

  • 操作系统Centos 7
  • 主机名minion1
  • 专用IP :10.99.0.11

步骤1:在SaltStack主服务器上的操作

1.1更新系统

使用sudo用户登录SaltStack主服务器,然后会系统更新为最新的稳定状态:


sudo yum update -y && sudo reboot

重新启动完成后,使用相同的sudo用户登录。

1.2安装和配置salt主程序

使用SaltStack官方YUM repo安装最新的salt主程序:


sudo yum install https://repo.saltstack.com/yum/redhat/salt-repo-2015.8-2.el7.noarch.rpm
sudo yum clean expire-cache
sudo yum install salt-master

安装完成后,请按如下所示修改配置文件:


sudo vi/etc/salt/master

查找:

 
#interface: 0.0.0.0

 

用下列替换行:


interface: 10.99.0.10

查找:

 
#hash_type: md5

 

用下列替换行:

 
hash_type: sha256

 

保存和退出:

 
:wq

 

启动并启用salt主服务:


sudo systemctl start salt-master.service
sudo systemctl enable salt-master.service

1.3修改防火墙规则

默认情况下salt master服务会使用端口4505和4506与minion通信,你需要允许通过主服务器上的两个端口通信。

查找eth1接口所属的区域:


sudo firewall-cmd --get-active-zones

你将发现eth1接口属于"公用"区域,因此,你需要允许通过"公用"区域中的两个端口进行通信:


sudo firewall-cmd --permanent --zone=public --add-port=4505-4506/tcp
sudo firewall-cmd --reload

这就是现在主服务器所需要做的全部事情,现在是设置SaltStack代理服务器的时候了。

步骤2:在SaltStack代理服务器上的操作

2.1更新系统

使用sudo用户登录SaltStack代理服务器,再次,将系统更新为最新的稳定状态:


sudo yum update -y && sudo reboot

重新引导后,使用相同的sudo用户登录。

2.2安装和配置salt minion程序

使用SaltStack官方YUM repo安装最新的salt minion程序:


sudo yum install https://repo.saltstack.com/yum/redhat/salt-repo-2015.8-2.el7.noarch.rpm
sudo yum clean expire-cache
sudo yum install salt-minion

安装后,修改如下所示的配置文件:


sudo vi /etc/salt/minion

查找:

 
#master: salt

 

用下列替换行:

 
master: 10.99.0.10

 

查找:

 
#hash_type: sha256

 

用下列替换行:

 
hash_type: sha256

 

保存和退出:

 
:wq

 

启动并启用salt-minion服务:


sudo systemctl start salt-minion.service
sudo systemctl enable salt-minion.service

启动后,salt服务会发送一个信号来查找SaltStack服务器。

如果你有更多SaltStack代理服务器,你需要以相同的方式设置它们。

步骤3在SaltStack主服务器上测试设置

返回到SaltStack主服务器的SSH连接,输入以下命令以显示所有可用代理:

 
sudo salt-key -L

 

如果一切顺利,你会看到"未接受的密钥"段中列出的代理服务器"minion1"


Accepted Keys:
Denied Keys:
Unaccepted Keys:
minion1
Rejected Keys:

使用以下命令接受"minion1":


salt-key --accept=minion1

或者接受所有代理服务器:

 
salt-key -A

 

最后,你可以使用下面的例子命令来测试你的设置:

示例1:


sudo salt minion1 test.ping

输出显示:


minion1:
 True

示例2:


sudo salt minion1 cmd.run pwd

输出显示:


minion1:
 /root

就是这样,你可以在官方网站上了解更多关于SaltStack的信息。尽情享受!

Zuoxiaojuan profile image