博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SaltStack其他常用的状态模块和方法
阅读量:6584 次
发布时间:2019-06-24

本文共 2420 字,大约阅读时间需要 8 分钟。

一.所有状态模块官方文档

https://www.unixhot.com/docs/saltstack/ref/states/all/

 

二.状态模块:pkg

官方文档:https://www.unixhot.com/docs/saltstack/ref/states/all/salt.states.pkg.html

功能:管理软件包的状态

该模块常用的方法:

pkg.installed     #确保软件包已安装,如果没安装,就会自动安装pkg.latest         #确保软件包是最新版本,如果不是,则进行升级pkg.remove      #确保软件包已卸载,如果之前已安装,则进行卸载pkg.purge         #除remove外,也会删除其他配件

使用案例:

lamp-install:  pkg.installed:    - pkgs:      #这个是pkg模块下installed方法的一个参数,该参数可以指定多个包名,同时将这些包进行安装      - httpd      - php      - php-pdo      - php-mysql

 

 

三.状态模块:file

官方文档:https://www.unixhot.com/docs/saltstack/ref/states/all/salt.states.file.html

功能:管理文件状态

该模块常用的方法:

file.managed     #保证文件存在并且为对应的状态file.recurse        #保证目录存在并且为对应状态(这个在博客saltstack入门中有使用案例,可以管理目录下文件,如果目录下文件发生变化的话,会覆盖目标目录中的同名文件)file.absent         #确保文件不存在,如果存在就删除

 

四.状态模块:service

官方文档:https://www.unixhot.com/docs/saltstack/ref/states/all/salt.states.service.html

功能:管理服务状态

该模块常用方法:

service.running    #确保服务处于运行状态,如果没有运行,就启动service.enabled    #确保服务开机自启动service.disabled    #确保服务开机不自启动service.dead         #确保访问当前没有运行,如果运行就停止

 

五.功能:requisites(这个不是个模块,这是说明处理状态关系的一些选项)

官方文档:

功能:处理状态间关系

常用的选项:

require         #我依赖某个状态require_in    #我被某个状态依赖watch           #我关注某个状态watch_in       #我被某个状态关注 

举例说明:

watch使用:我想实现,当配置文件发生改变的时候,我的服务自动重新加载或重启。

apache-config:       #状态id1  file.managed:    - name: /etc/httpd/conf/httpd.conf    - source: salt://web/files/httpd.conf    - user: root    - group: root    - mode: 644    - require:      - pkg: lamp-installapache-conf:         #状态id2  file.recurse:    - name: /etc/httpd/conf.d    - source: salt://web/files/apache-conf.d    - watch_in:      - service: lamp-servicelamp-service:  service.running:    - name: httpd    - enable: True    - reload: True       #如果加上reload: True  代表文件发生变化的时候,服务会重载,但是需要该服务支持重载才能有    - watch:             #通过watch来监听状态id1和状态2的状态,如果他两有任何一个文件或目录发生变化,那么,重启httpd服务      - file: apache-config      - file: apache-conf

注:reload: True 这个需要服务支持重新加载,才能用该选项。 

require说明:我想实现监控一个服务是否安装成功,如果安装成功后,执行一个状态,没装成功,这不执行该状态

lamp-install:  pkg.installed:    - pkgs:      - httpd      - php      - php-pdo      - php-mysqlapache-config:  file.managed:    - name: /etc/httpd/conf/httpd.conf    - source: salt://web/files/httpd.conf    - user: root    - group: root    - mode: 644    - require:                #通过require来监控以下状态      - pkg: lamp-install     #监控lamp-install这个状态是否安装成功,没安装成功的话,不执行apache-config状态

 

转载于:https://www.cnblogs.com/Jackie-Chen/articles/10760570.html

你可能感兴趣的文章
css3做的nav
查看>>
互联网架构师必备技术 Docker仓库与Java应用服务动态发布那些事
查看>>
[Usaco2005 Open]Disease Manangement 疾病管理 BZOJ1688
查看>>
【Android视图效果】分组列表实现吸顶效果
查看>>
多文件上传示例源码(默认支持各种类型,包括图片)
查看>>
PHP 时间操作 / 跳转问题
查看>>
使用流的方式往页面前台输出图片
查看>>
java核心技术反射
查看>>
LAMP,安装脚本
查看>>
【在线研讨-现场文字】《敏捷开发用户故事分类与组织结构(二期-3)》2012-07-03...
查看>>
易语言 --什么情况下 用许可证
查看>>
建属于自己的网站
查看>>
boost库之智能指针
查看>>
我的友情链接
查看>>
自定义View Client 登录方式(一)
查看>>
我的友情链接
查看>>
我来自CSDN
查看>>
在mysql表中插入大量测试数据
查看>>
怎么给电脑设置IP地址和DNS地址,各系统设置IP/DNS几种方法
查看>>
必 备 习 题 集 (一)
查看>>