SaltStack 部署案例 02

 远程执行  salt '*' state.sls apache

 

'*':代表所有主机

state.sls :是一个模块

apache : 状态 ,表示需要部署的内容,后缀.sls

  

YAML:三板斧

1、 缩进   (2个空格,不能使用Tab)

2、 冒号 key: value (注意key后面需要有空格)

3、 短横线 – list1   - list2  可以写多个

缩进和冒号表示层级关系:

冒号表示key: value   表示层级关系
短横线 – list      列表,后面都有空格
/etc/salt/master配置文件也是YAML语法
表示协议的肯定没有空格


ps -aux|grep salt

Master配置 测试安装

案例一、

# vim /etc/salt/master


base 基础环境必须有

file_roots  配置项

- /srv/salt/ 列表,可以写多个路径




因为里面定义了.sls存放的路径,需要我们创建

[root@Master ~]# mkdir /srv/salt -p   #创建目录,用于存放sls


[root@01 salt]# cat apache.sls 
apache-install:
  pkg.installed:
    - names:
      - httpd
      - httpd-devel

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

  

修改完配置文件需要重启

systemctl restart salt-master





参数介绍:
apache-install:  定义的ID
  pkg.installed:  pkg是一个模块是一个状态后面是模块的方法
    - names:  方法的一个参数
      - httpd
      - httpd-devel安装包名称
apache-servic:
  service.running:   模块  方法 running运行
    - name: httpd   运行服务的名称
- enable: True   开机自动启动

  

执行状态

[root@01 salt]# ls
apache.sls
[root@01 salt]# pwd
/srv/salt
[root@01 salt]# salt '*' status.sls apache


Master: ---------- ID: apache-install Function: pkg.installed Name: httpd Result: True Comment: The following packages were installed/updated: httpd Started: 00:55:59.517437 Duration: 32821.597 ms Changes: ---------- httpd: ---------- new: 2.4.6-45.el7.centos old: httpd-tools: ---------- new: 2.4.6-45.el7.centos old: ---------- ID: apache-install Function: pkg.installed Name: httpd-devel Result: True Comment: The following packages were installed/updated: httpd-devel Started: 00:56:32.347203 Duration: 35405.626 ms Changes: ---------- apr-devel: ---------- new: 1.4.8-3.el7 old: apr-util-devel: ---------- new: 1.5.2-6.el7 old: cyrus-sasl: ---------- new: 2.1.26-20.el7_2 old: cyrus-sasl-devel: ---------- new: 2.1.26-20.el7_2 old: cyrus-sasl-lib: ---------- new: 2.1.26-20.el7_2 old: 2.1.26-17.el7 expat: ---------- new: 2.1.0-10.el7_3 old: 2.1.0-8.el7 expat-devel: ---------- new: 2.1.0-10.el7_3 old: httpd-devel: ---------- new: 2.4.6-45.el7.centos old: libdb: ---------- new: 5.3.21-19.el7 old: 5.3.21-17.el7_0.1 libdb-devel: ---------- new: 5.3.21-19.el7 old: libdb-utils: ---------- new: 5.3.21-19.el7 old: 5.3.21-17.el7_0.1 openldap: ---------- new: 2.4.40-13.el7 old: 2.4.39-6.el7 openldap-devel: ---------- new: 2.4.40-13.el7 old: ---------- ID: apache-servic Function: service.running Name: httpd Result: True Comment: Service httpd has been enabled, and is running Started: 00:57:07.787998 Duration: 2090.702 ms Changes: ---------- httpd: True Summary ------------ Succeeded: 3 (changed=3) Failed: 0 ------------ Total states run: 3

  

运行地点:

cat /var/cache/salt/minion/files/base/web/apache.sls


案例2

高级配置top调用apache.sls



[root@Master web]# cat  /srv/salt/top.sls
base:
  'Minion1':    -->表示minion主机名称
    - web.apache
  'Minion2': 
    - web.apache

  


执行命令:

salt '*' state.highstate  

highstate: 是state模块中的方法

[root@01 salt]# salt '*' state.highstate
www.wawa8888.com:
----------
          ID: apache-install
    Function: pkg.installed
        Name: httpd
      Result: True
     Comment: Package httpd is already installed
     Started: 10:58:04.124771
    Duration: 837.654 ms
     Changes:   
----------
          ID: apache-install
    Function: pkg.installed
        Name: httpd-devel
      Result: True
     Comment: Package httpd-devel is already installed
     Started: 10:58:04.962555
    Duration: 0.365 ms
     Changes:   
----------
          ID: apache-service
    Function: service.running
        Name: httpd
      Result: True
     Comment: Service httpd is already enabled, and is running
     Started: 10:58:04.963307
    Duration: 71.43 ms
     Changes:   
              ----------

  返回的结果是执行的结果


东方
原文地址:https://www.cnblogs.com/chenshengqun/p/6800551.html