linux企业实战 --SaltStack(一) 安装部署 && 远程连接

一 SaltStack 简介

1. SaltStack 是什么??

  • SaltStack 是一个配置管理系统,能够维护预定义状态的远程节点。
  • SaltStack 是一个分布式远程执行系统,用来在远程节点上执行命令和查询数据。
  • SaltStack 是运维人员提高工作效率、规范业务配置与操作的利器。

2. Salt 的核心功能

  • 使命令发送到远程系统是并行的而不是串行的
  • 使用安全加密的协议
  • 使用最小最快的网络载荷
  • 提供简单的编程接口
  • Salt同样引入了更加细致化的领域控制系统来远程执行,使得系统成为目标不止可以通过主机名,还可以通过系统属性。

3. SaltStack 通信机制

  • SaltStack 采用 C/S模式,minion与master之间通过ZeroMQ消息队列通信,默认监听4505端口。

在这里插入图片描述

  • Salt Master运行的第二个网络服务就是ZeroMQ REP系统,默认监听4506端口

在这里插入图片描述

二 SaltStack 安装部署

1. 实验准备

三台主机。一台master,两台minion

主机iphostname作用
server1(172.25.42.1)ss1master(主节点)
server2(172.25.42.2)ss2minion(节点1)
server3(172.25.42.3)ss3minion(节点2)
  • 官网:https://www.saltstack.com/
  • 设置官方YUM仓库:
yum install https://repo.saltstack.com/yum/redhat/salt-repo-latest.el7.noarch.rpm

2. 安装部署

步骤一:在master 上安装salt-repo文件

master

[root@nn1 ~]# yum install https://repo.saltstack.com/yum/redhat/salt-repo-latest.el7.noarch.rpm 
[root@nn1 yum.repos.d]# yum list salt-master		#要求高于3000.2,bug修复了
salt-master.noarch                                                      3000.3-1.el7                                                       salt-latest
[root@nn1 yum.repos.d]# yum install -y salt-master

在这里插入图片描述

步骤二:官方镜像下载过慢,换为阿里云镜像

在这里插入图片描述

步骤三:此时发现salt-master版本过低,有漏洞,因此换为原本官方镜像

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

步骤四:配置服务端,客户端

在ss1上安装salt-master
在这里插入图片描述

在ss2和ss3中都安装 salt-minion
在这里插入图片描述

在这里插入图片描述

步骤五:设置开机自启动
在这里插入图片描述步骤六:查看端口,发现两个备用端口
在这里插入图片描述在 /etc/salt/master 配置文件中设置端口
在这里插入图片描述

步骤七:此时查看进程

发现自动开启了过多进程,但无任何信息

在这里插入图片描述

因此需要安装该软件,可以查看更多的进程信息
在这里插入图片描述
在这里插入图片描述

步骤九:在minion端加master的IP

vim /etc/salt/minion   #minion配置文件

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

master的IP加入后,重启minion端
在这里插入图片描述

步骤十:连接

master端和minion端配置好后,查看master端的4505和4506端口,发现4506接收到了来自ss2的连接请求
在这里插入图片描述

接收到连接请求后,若允许了,则4505端口收到已经被允许的SS2

salt-key -L 列出连接请求
salt-key -A 允许所有的连接请求
salt-key -a ss2 允许指定主机连接请求

在这里插入图片描述连接后,查询/etc/salt/pki/ 目录下有连接到的SS2主机

在这里插入图片描述在master端可以查看minion端的连接目录已经彼此交换的公钥
在这里插入图片描述
此时在已连接的minion端下 /etc/salt/pki/目录下查询目录结构

在这里插入图片描述同时也可以查到交换的密钥
在这里插入图片描述

步骤十一:在ss3端加入masterIP,进行配置
在这里插入图片描述

允许连接
在这里插入图片描述在这里插入图片描述

三 远程连接

1. 远程执行Shell命令

salt 命令由三个主要部分构成

salt '<target>' <function> [arguments]

salt 内置执行模块列表:
http://docs.saltstack.cn/ref/modules/all/index.html
在这里插入图片描述

查看所连接的minion:ping

* 表全部被允许连接的minion端
* 也可只指定 minion

在这里插入图片描述

查看所连接的minion: df -h

-E 表示正则表达式

在这里插入图片描述
查看所连接的minion: ping hostname
在这里插入图片描述

pkg模块

在这里插入图片描述

在 master端 安装、卸载minion(ss2端)的 httpd
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

ss2 minion端,master端的所有指令都存放该目录下

cat /var/cache/salt

在这里插入图片描述

2. 编写远程执行模块

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

创建远程配置文件的目录
在这里插入图片描述

在这里插入图片描述

在默认远程配置目录下,创建模块目录
在这里插入图片描述

编写模块文件,并同步模块
在这里插入图片描述执行后,master端的操作都缓存在该目录下
在这里插入图片描述

master端也可以直接调用
在这里插入图片描述

3. YAML语言

规则
缩进:Salt需要每个缩进级别由两个空格组成,不要使用Tabs
冒号:字典的keys在YAML中的表现形式是一个以冒号结尾的字符串
短横杠:想要表示列表项,使用一个短横杠加一个空格。

4. 配置管理

Salt 状态系统的核心:SLS

sls文件命名:
	1..sls 作为后缀,但调用时不需要加后缀
	2.使用子目录来做组织是一个很好的选择
	3.int.sls 在一个子目录里面表示引导文件,也就表示子目录本身 'apache/init.sls'=='apache'
	4.如果同时存在apache.sls 和 apache/init.sls,则apache/init.sls被忽略,apache.sls被用来表示apache

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

创建sls文件,并指定minion端执行

安装httpd文件
在这里插入图片描述在这里插入图片描述

安装多个软件包

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

批量执行,TOP文件

# vim /srv/salt/top.sls
base:
 '*':
  - apache

批量执行
# salt '*' state.highstate
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值