本文介绍在Ubuntu 18.04系统中安装Salt/Saltstack Master、Minion的方法。
简介 Salt是一个基于动态通信总线的开源基础架构管理平台。 Salt具有以下组件: Salt Master:这是一个中央管理系统,用于向在受管系统上运行的Salt minion发送命令和配置。 Salt Minions:这些是运行Salt minion并从Salt master接收命令和配置的系统。 Salt SSH:在没有Salt minion的系统上通过SSH运行Salt命令。 Salt Cloud/Salt Virt:在云提供商/虚拟机管理程序上提供系统,并立即将其置于管理之下。 Returners:将Salt minions返回的数据发送到另一个系统,例如数据库。 Runners:在Salt master上执行的模块,用于执行支持任务,Salt runners报告作业状态,连接状态,从外部API读取数据,查询连接的Salt minions等。
在Ubuntu 18.04中安装Salt/Saltstack 首先导入SaltStack存储库密钥: wget -O - https://repo.saltstack.com/apt/ubuntu/18.04/amd64/latest/SALTSTACK-GPG-KEY.pub | sudo apt-key add - 然后通过运行该命令添加存储库: echo "deb http://repo.saltstack.com/apt/ubuntu/18.04/amd64/latest bionic main" | sudo tee /etc/apt/sources.list.d/saltstack.list 完成后,更新系统包列表并安装Salt包: sudo apt -y install salt-api salt-cloud salt-master salt-minion salt-ssh salt-syndic 如果有活动的UFW防火墙,请打开端口4505和4506: sudo ufw allow proto tcp from any to any port 4505,4506 参考:在Ubuntu 18.04系统中使用UFW设置防火墙。 Salt Directories: /etc/salt /var/cache/salt /var/log/salt /var/run/salt
配置Salt Master、Minion 默认的Salt Master配置/etc/salt/master应该适用于大多数安装,对于Minions,入门的唯一要求是在minion配置文件/etc/salt/minion中设置master的位置。 1、配置Salt Master 默认情况下,Salt主服务器侦听所有接口(0.0.0.0)上的端口4505和4506。如果要将Salt绑定到特定IP,请更改主配置文件中的interface指令,通常是/etc/salt/master,如下所示: interface: 192.168.18.50 然后重启minion master: sudo systemctl restart salt-master.service 2、配置Salt Minions 在导入存储库密钥并添加repo之后,在所有salt minions上安装包salt-minion: sudo apt install salt-minion 默认情况下,Salt Minion将尝试连接到DNS名称salt,如果Minion能够正确解析该名称,则无需进行任何配置。 在/etc/hosts上设置Salt Master的DNS名称: 192.168.18.50 salt 在/etc/salt/minion_id上设置Minion ID: ubuntu-01 通过在Salt master上运行以下命令来打印主密钥指纹: [root@master ~]# salt-key -F master Local Keys:
从Local Keys部分复制master.pub指纹,然后将此值设置为minion配置文件中的master_finger:
如果在/etc/salt/minion上进行任何更改,例如设置主服务器的IP地址,则需要重新启动salt-minion服务: sudo systemctl restart salt-minion 登录主节点并检查接受的密钥: [root@master ~]# salt-key -L Accepted Keys: Denied Keys: Unaccepted Keys: ubuntu-01 Rejected Keys: 接受帐户的Key: [root@master ~]# salt-key --accept='ubuntu-01' The following keys are going to be accepted: Unaccepted Keys: ubuntu-01 Proceed? [n/Y] Y Key for minion ubuntu-01 accepted. [root@master ~]# salt-key -L Accepted Keys: ubuntu-01 Denied Keys: Unaccepted Keys: Rejected Keys: 从输出中,你可以确认密钥已添加到已接受密钥列表中。 你也可以使用选项-A接受所有Minion服务器: [root@master ~]# salt-key -A
检查Minion Key Fingerprint 在每个Salt minion上运行以下命令以查看minion密钥指纹: # salt-call --local key.finger 输出信息如下: [root@ubuntu-01 ~]# salt-call --local key.finger
将此值与在Salt master上运行salt-key –finger <MINION_ID>命令时显示的值进行比较: [root@master ~]# salt-key --finger ubuntu-01 Accepted Keys:
测试Master Minion Communication 通过运行test.ping命令验证Master和Minion之间的通信: [root@master ~]# salt ubuntu-01 test.ping ubuntu-01: True
要测试Salt Master和所有Minions之间的通信,请使用以下命令: [root@master ~]# salt '*' test.ping
相关主题 |