Centos7 saltstack部署搭建

SaltStack 简介与特性

SaltStack 是一种基于 C/S 架构的服务器基础架构集中化管理平台,管理端称为 Master,客户端称为 Minion。SaltStack 具备配置管理、远程执行、监控等功能,一般可以理解为是简化版的 Puppet 和加强版的 Func。

SaltStack 本身是基于 Python 语言开发实现,结合了轻量级的消息队列软件 ZeroMQ 与 Python 第三方模块(Pyzmq、PyCrypto、Pyjinjia2、python-msgpack 和 PyYAML 等)构建。

通过部署 SaltStack 环境,运维人员可以在成千上万台服务器上做到批量执行命令,根据不同的业务特性进行配置集中化管理、分发文件、采集系统数据及软件包的安装与管理等。

SaltStack 的工作原理
在这里插入图片描述
SaltStack 采用 C/S 结构来对云环境内的服务器操作管理及配置管理。为了更好的理解它的工作方式及管理模型,本章将通过图形方式对其原理进行阐述。

SaltStack 客户端(Minion)在启动时,会自动生成一套密钥,包含私钥和公钥。之后将公钥发送给服务器端,服务器端验证并接受公钥,以此来建立可靠且加密的通信连接。同时通过消息队列 ZeroMQ 在客户端与服务端之间建立消息发布连接。
命令执行
在这里插入图片描述
原理图说明:

Minion 是 SaltStack 需要管理的客户端安装组件,会主动去连接 Master 端,并从 Master 端得到资源状态信息,同步资源管理信息。

Master 作为控制中心运行在主机服务器上,负责 Salt 命令运行和资源状态的管理。

Master 上执行某条指令通过队列下发到各个 Minions 去执行,并返回结果。

本章使大家了解了什么是 SaltStack 以及它的通信及执行原理,下一章节将主要介绍本次实例部署的架构设计。

saltstack与ansible对比

在这里插入图片描述

环境准备:

服务端 : 192.168.74.134 master
客户端: 192.168.74.148 slave
关闭防火墙和selinux

服务端:
修改主机名字

[root@localhost ~]# hostname master

永久修改名字

vim /etc/sysconfig/network
Created by anaconda
HOSTNAME=master

编辑hosts文件

[root@localhost ~]# vim /etc/hosts
192.168.74.134 master
192.168.74.148 slaver

在这里插入图片描述

服务器端的安装

yum install -y epel-release
yum install https://repo.saltstack.com/yum/redhat/salt-repo-latest-2.el7.noarch.rpm
yum clean expire-cache yum install -y salt-master salt-minion

客户端:
修改主机名:

[root@localhost ~]# hostname slave

永久修改名字

vim /etc/sysconfig/network
Created by anaconda
HOSTNAME=slave

编辑hosts文件

[root@localhost ~]# vim /etc/hosts
192.168.74.134 master
192.168.74.148 slaver

客户端的安装:

yum install -y epel-release
yum install https://repo.saltstack.com/yum/redhat/salt-repo-latest-2.el7.noarch.rpm
yum clean expire-cache yum install -y salt-minion

配置
服务器和客户端的配置master

vim /etc/salt/minion //在第16行添加,冒号后有一个空格 master:
192.168.0.109

启动服务

systemctl start salt-master
systemctl start salt-minion

配置验证

[root@localhost ~]# salt-key -a slaver [root@localhost ~]# salt-key -a master [root@localhost ~]# salt-key

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
至此~~ 已经安装成功
下面来测试一下(#.#)

[root@localhost ~]# salt ‘*’ test.ping
slave:
True
master:
True

在这里插入图片描述

[root@localhost ~]# salt ‘*’ cmd.run ‘df -h’

slave:
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 18G 3.9G 14G 22% /
devtmpfs 896M 0 896M 0% /dev
tmpfs 911M 60K 911M 1% /dev/shm
tmpfs 911M 19M 893M 3% /run
tmpfs 911M 0 911M 0% /sys/fs/cgroup
/dev/sda1 297M 148M 150M 50% /boot
tmpfs 183M 4.0K 183M 1% /run/user/42
tmpfs 183M 36K 183M 1% /run/user/0
master:
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 18G 4.6G 14G 26% /
devtmpfs 896M 0 896M 0% /dev
tmpfs 911M 260K 911M 1% /dev/shm
tmpfs 911M 19M 893M 3% /run
tmpfs 911M 0 911M 0% /sys/fs/cgroup
/dev/sda1 297M 148M 150M 50% /boot
tmpfs 183M 32K 183M 1% /run/user/0
/dev/sr0 8.8G 8.8G 0 100% /run/media/root/CentOS 7 x86_64

在这里插入图片描述
OK啦 希望能帮到你 感恩相遇 ~~

猜你喜欢

转载自blog.csdn.net/weixin_46174507/article/details/109642031