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啦 希望能帮到你 感恩相遇 ~~
本文地址:https://blog.csdn.net/weixin_46174507/article/details/109642031
推荐阅读
-
Docker CentOS7的系统上安装部署以及基础教程
-
ASP.Net Core on Linux (CentOS7) 共享第三方依赖库部署
-
centos7服务器部署django项目。
-
基于Centos7 部署Varnish缓存代理服务器
-
CentOS7 Docker Nginx部署及运行详解
-
详解CentOS的SVN服务器搭建与自动部署全过程
-
一台服务器搭建部署两个或多个Redis实例
-
在centos7下安装和部署java8和mysql
-
CentOS7 LNMP+phpmyadmin环境搭建 第三篇phpmyadmin安装
-
CentOS7 LNMP+phpmyadmin环境搭建 第一篇虚拟机及centos7安装