saltstack自动化运维管理—saltstack的介绍、安装与配置、远程执行

1.什么是saltstack?

saltstack是一个配置管理系统,能维护预定义状态的远程节点。
saltstack是一个分布式远程执行系统,用来在远程节点上执行命令和查询数据。
saltstack是运维人员提高工作效率、规范业务配置与操作的利器。
saltstack的核心功能是:使命令发送到远程系统是并行的而不是串行;使用安全加密的协议;使用最小最快的网络载荷;提供简单的编程接口。
saltstack同样引入了更加细致化的领域控制系统来远程执行,使得系统成为目标不止可以通过主机名,还可以通过系统属性。

2.saltstack的通信机制

(1)saltstack采用C/S模型,(这也是他和ansible最大的区别),minion与master之间通过ZeroMQ(也叫做零MQ,即轻量级)消息队列通信,默认监听4505端口。
ZeroMQ是saltstack的一大优势,使得他比ansible快很多。
(2)Salt Master运行的第二个网络服务就是ZeroMQ REP系统,默认监听4506端口。

2.saltstack的安装与配置

【实验环境】:用server1做saltstack做master,用server2做minion端。

我们可以通过配置saltstack官网里的yum仓库来进行安装。yum install https://repo.saltstack.com/yum/redhat/salt-repo-latest.el7.noarch.rpm

我们也可以使用aliyun的开源镜像:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.saltstack的远程执行

(1)远程执行shell命令

salt命令由三个主要部分组成:
salt ‘</target/>’ </function/> [arguments]
target:指定那些minion,默认的规则是使用glob匹配minion id。如salt ‘*’ test.ping
Targets:也可以使用正则表达式:
salt -E ‘server[1-3]’ test.ping
Targets:也可以指定列表:
salt -L ‘server2,server3’ test.ping

function是module提供的功能,salt内置了大量有效的functions。
arguments通过空格来界定参数。
salt内置的执行模块列表:http://docs.saltstack.cn/ref/modules/all/index.html

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(2)编写远程执行模块

vim /etc/salt/master

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(3)了解yaml语法
<1>缩进:salt需要每个缩进级别由俩个空格组成,不要使用tab。
<2>冒号:字典keys在yaml中的表现形式是一个以冒号结尾的字符串。如my_key:my_value。
<3>短横杠:想要表示列表项,使用一个短横杠加一个空格。- list_value_one。

(4)配置管理

salt 状态系统的核心是SLS,或者叫做Slat State文件。
SLS表示系统将会是什么样的状态,而且是以一种很简单的格式来包含这些数据,常被叫做配置管理。

sls文件命名:
(1)sls文件以.sls后缀结尾,但在调用是不会写此后缀
(2)使用子目录来做组织是个很好的选择。
(3)init.sls在一个子目录里面表示引导文件,也就表示子目录本身,所以apache/init.sls就是表示apache。
(4)如果同时存在apache.sls和apache/init.sls,则apache/init.sls被忽略,apache.sls将被用来表示apache。

创建一个sls文件:

vim /srv/salt/apache.sls

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

vim /srv/salt/apache.sls  

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

vim /srv/salt/apache.sls

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

vim init.sls  ##我们来编辑一下这个init.sls文件

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

vim init.sls  ##编辑这个文件

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

vim init.sls  ##编辑这个文件

在这里插入图片描述

vim /srv/salt/apache/files/httpd.conf  ##编辑这个文件

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
上面配置文件修改了端口号,但是netstat查看端口号没有被修改,是因为没有触发。

vim init.sls

在这里插入图片描述

vim /srv/salt/apache/files/httpd.conf  ##编辑这个文件

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

vim /srv/salt/apache/files/httpd.conf  ##再来修改一下来源文件中的httpd的配置文件

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

vim init.sls

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
上面我们是一台master和一台minion端,现在我们来再加一台minion端,来更加深入掌握.sls文件的编写和推入。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这里我们来做一个nginx源码包的安装启动配置。

cd /srv/salt 
mkdir nginx  ##master端创建一个nginx目录
cd nginx  ##进入nginx
mkdir files  ##建立一个files目录,将nginx的源码包存放到这里

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

cd ..  ##回到上一级目录
vim init.sls 

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

vim init.sls  ##编辑一下nginx/init.sls文件

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
上面我们有解压安装编译成功了,现在我们来启动一下,平常我们是用systemd的方式,这里我们用脚本方式来启动nginx服务。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

vim init.sls  ##编辑nginx/init.sls这个文件

在这里插入图片描述

vim /srv/salt/nginx/files/nginx.service  ##上面init.sls文件中有文件来源,所以我们需要将nginx的启动脚本文件放在这个目录下

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
前面我们已经完成了nginx服务的开启,现在我们来设置一下开机启动,还有配置文件的监视。

vim inits.sls  ##编辑nginx/init.sls文件

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
现在我们来修改一下这个conf文件。
在这里插入图片描述

vim /srv/salt/nginx/files/nginx.conf  ##修改一下这个文件

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

vim nginx.conf  ##编辑此文件

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这里我们再来看一下top文件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值