码迷,mamicode.com
首页 > 其他好文 > 详细

saltstack3-状态管理-yum安装软件

时间:2020-12-30 11:27:09      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:判断   环境   tool   目录   多个   需要   restart   wing   返回结果   

状态管理-salt安装apache

编辑主配置文件,定义几个环境。

vim /etc/salt/master
file_roots:
base:
- /srv/salt/base
dev:
- /srv/salt/dev
test:
- /srv/salt/test
prod:
- /srv/salt/prod
 

然后创建相应目录,重启salt

mkdir -p /srv/salt/{base,dev,test,prod}
systemctl restart salt-master.service

 创建文件

cd /srv/salt/base/
vim apache.sls
说明,第一部分ID:
apache-install
第1行是声明,第2行pkg是状态模块,installed是方法。
第3行,name是个特殊参数,说明这台机器应该有一个httpd,如果没有安装,如果有什么也不做。
第二部分ID:
apache-service,是服务状态管理。
同理,需要有一个httpd的服务要启动,如果启动什么也不做,没启动就启动,默认为True
apache-install:
  pkg.installed:
    - name: httpd

apache-service:
  service.running:
    - name: httpd
    - enable: True
在node2上执行,下边的命令,state是执行模块,sls是方法。alache是传的参数。会在base下找apache.sls文件。必须省略.sls
salt *node2* state.sls apache

执行后看返回结果:上边是安装,下边是启动。看change那行,改变了几个地方,可以判断执行了几个ID。

linux-node2.example.com:
----------
          ID: apache-install
    Function: pkg.installed
        Name: httpd
      Result: True
     Comment: The following packages were installed/updated: httpd
     Started: 09:46:59.759738
    Duration: 9266.372 ms
     Changes:   
              ----------
              apr:
                  ----------
                  new:
                      1.4.8-7.el7
                  old:
              apr-util:
                  ----------
                  new:
                      1.5.2-6.el7
                  old:
              httpd:
                  ----------
                  new:
                      2.4.6-97.el7.centos
                  old:
              httpd-tools:
                  ----------
                  new:
                      2.4.6-97.el7.centos
                  old:
              mailcap:
                  ----------
                  new:
                      2.1.41-2.el7
                  old:
----------
          ID: apache-service
    Function: service.running
        Name: httpd
      Result: True
     Comment: Service httpd has been enabled, and is running
     Started: 09:47:09.032003
    Duration: 189.507 ms
     Changes:   
              ----------
              httpd:
                  True

Summary for linux-node2.example.com
------------
Succeeded: 2 (changed=2)
Failed:    0
------------
Total states run:     2
Total run time:   9.456 s

 这时可以到node2上去验证了,如果手动在node2上停止httpd,再在master上执行 salt ‘linux-node2*‘ state.sls apache可以看到只改变了一个,会把服务启动起来。

多层配置目录:

可以在base下创建多个目录,然后把相应的状态文件到到相应的目录里。

[root@linux-node1 base]# pwd
/srv/salt/base
[root@linux-node1 base]# mkdir web
[root@linux-node1 base]# mv apache.sls web/
[root@linux-node1 base]# salt "linux-node2*" state.sls web.apache

 

编排top.sls:

master文件里默认文件就是base下的top.sls,不需要修改,就直接用这个文件。

 

vim /srv/salt/base/top.sls:

base:
  linux-node2.example.com:
    - web.apache
  linux-node3.example.com:
    - web.apache

 

执行:

salt * state.highstate

 

 

 

saltstack3-状态管理-yum安装软件

标签:判断   环境   tool   目录   多个   需要   restart   wing   返回结果   

原文地址:https://www.cnblogs.com/amhk/p/14183118.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!