云网牛站
所在位置:首页 > Linux教程 > 在Ubuntu 18.04中安装Salt/Saltstack Master、Minion的方法

在Ubuntu 18.04中安装Salt/Saltstack Master、Minion的方法

2019-02-04 10:55:22作者:戴进稿源:云网牛站

本文介绍在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:

在Ubuntu 18.04中安装Salt/Saltstack Master、Minion的方法

从Local Keys部分复制master.pub指纹,然后将此值设置为minion配置文件中的master_finger:

在Ubuntu 18.04中安装Salt/Saltstack Master、Minion的方法

如果在/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

在Ubuntu 18.04中安装Salt/Saltstack Master、Minion的方法

将此值与在Salt master上运行salt-key –finger <MINION_ID>命令时显示的值进行比较:

[root@master ~]# salt-key --finger ubuntu-01

Accepted Keys:

在Ubuntu 18.04中安装Salt/Saltstack Master、Minion的方法

 

测试Master Minion Communication

通过运行test.ping命令验证Master和Minion之间的通信:

[root@master ~]# salt ubuntu-01 test.ping

ubuntu-01:

True

在Ubuntu 18.04中安装Salt/Saltstack Master、Minion的方法

要测试Salt Master和所有Minions之间的通信,请使用以下命令:

[root@master ~]# salt '*' test.ping

 

相关主题

安装Prettyping让使用Ping命令输出的数据更简单易读

精选文章
热门文章