saltstack配置和简单操作

1、前面我们安装好master和minion之后,我们来简单看看salt的远程执行情况:

master端查看minion端是否是活跃状态.


2、创建目录,以及ls查看结果。这里我们用到的是cmd.run模块的用法,后面会讲到salt的其他一些模块用法。


3、salt的配置管理

写状态文件的YAML语法格式,YAML的salt官网

YAML:三板斧
1、缩进
    2个空格,不能使用Tab键.
2、冒号 
    后面有一个空格,键值对,后面也跟一个空格 , 表示层级关系是不需要空格的直接换行了.
3、短横线
    表示列表.
    - list1
    - list2

下面我们以一个安装httpd的示例快速入门:

修改master端配置文件,创建一个httpd的状态文件。master端的file_roots字段表示状态文件的存放位置,该位置可以自己定义,不过最好不要修改,选择默认的。分别为基础环境,开发环境,生产环境。


修改好,重启salt-master服务,然后我们创建/srv/salt目录,随后我们再开始写我们的状态文件。每个状态文件放在一个目录下面,当有多个状态文件时好区分。

[root@wyl01 salt]# cat web/apache.sls   # 注意YAML的语法格式
apache-install:
  pkg.installed:
    - names:
       - httpd
       - httpd-devel

apache-service:
  service.running:
    - name: httpd
    - enable: True

编写好后在master端执行操作,目的是在wyl03上安装httpd服务。执行指令为 salt 'wyl03' state.sls web.apache是执行state模块的sls方法。


安装原理是:salt的matser端将状态文件发送到minion端,下图可以看到一开始wyl03上是没有apache.sls文件的,执行过程中,master将apache.sls文件传送到wyl03机器上,然后进行安装,但是实际的安装方式还是yum安装。

对于现实中的环境,一台机器对应多个模块,或者多个机器对应一个或者多个模块,每个模块可能都不通,不能每台机器手动执行一遍,所以salt有一个高级状态,可以将对应关系告诉salt,进行帮助我们自动化执行安装,所以我们需要写一个top.sls的对应关系文件。对应关系top模块,从下图可以看到,top.sls的文件位置是在base环境下的目录位置,那么base环境下的位置就是上面我们说到的/srv/salt的目录。



执行高级状态:
top文件当一个入口文件,从这里开始读,wyl02要执行什么模块方法 wyl03要什么模块方法,都已经写好了,这里只有一个状态,所以都执行一个状态文件,当然如果是多个状态文件,可以wyl02执行httpd状态,wyl03可以执行其他状态模块。

当写好top文件后,我们可以用下面的指令进行测试一遍,该指令意思为:不真的执行,只是将执行的信息打印出来,确认无误后,再执行salt '*' state.highstate  指令,类似于sed -i指令,加-i才是真的对文件进行操

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值