SaltStack实战之配置管理-状态间关系
admin
2023-05-18 03:42:27
0

SaltStack实战之配置管理-状态间关系


学习 SaltStack



  • SaltStack实战之配置管理-状态间关系
  • 1. 状态相关模块

    • 1.1 pkg

    • 1.2 file

    • 1.3 service

    • 1.4 requisites

  • 2. 实际应用


1. 状态相关模块

1.1 pkg

状态模块:pkg 
功能:管理软件包状态 
常用方法:

  • pkg.installed # 确保软件包已安装,如果没有安装则安装

  • pkg.latest # 确保软件包是最新版本,如果不是,则进行升级

  • pkg.remove # 确保软件包已卸载,如果之前已安装,则进行卸载

  • pkg.purge # 除remove外,也会删除其配置文件

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

1.2 file

状态模块:file 
功能:管理文件状态 
常用方法:

  • file.managed # 保证文件存在并且为对应的状态

  • file.recurse # 保证目录存在并且为对应状态

  • file.absent # 确保文件不存在,如果存在则删除

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

1.3 service

状态模块:service 
功能:管理服务状态 
常用方法:

  • service.running #确保服务处于运行状态,如果没有运行则启动

  • service.enabled # 确保服务开机自动启动

  • service.disabled # 确保服务开机不自动启动

  • service.dead # 确保服务当前没有运行,如果运行则停止

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

1.4 requisites

状态模块:requisites 
功能:处理状态间关系 
常用方法:

  • require # 我依赖某个状态(要求、需要)

  • require_in # 我被某个状态依赖(被要求、被需要)

  • watch # 我关注某个状态(监控)

  • watch_in # 我被某个状态关注(被监控)

官方文档: 
https://docs.saltstack.com/en/latest/ref/states/requisites.html

2. 实际应用

[root@salt-master112 salt]# cat /srv/salt/dev/lamp.sls

lamp-pkg-install:
 pkg.installed:
   - names:
     - php
     - php-fpm
     - mysql
     - php-mysql
     - php-pdo

apache-service:
 pkg.installed:
   - name: httpd
 file.managed:
   - name: /etc/httpd/conf/httpd.conf
   - source:
     - salt://files/httpd.conf
   - user: root
   - group: root
   - mode: 644
   - require:
     - pkg: apache-service
 service.running:
   - name: httpd
   - enable: True
   - reload: True
   - watch:
     - file: apache-service

mysql-service:
 pkg.installed:
   - name: mysql-server
   - require_in:
     - file: mysql-service
 file.managed:
   - name: /etc/my.cnf
   - source:
     - salt://files/my.cnf
   - user: root
   - group: root
   - mode: 644
   - watch_in:
     - service: mysql-service
 service.running:
   - name: mysqld
   - enable: True

php-fpm-service:
 service.running:
   - name: php-fpm
   - enable: True


相关内容

热门资讯

伊朗宣布5月19日起恢复股票市... 当地时间16日,伊朗证券交易组织表示,伊朗股票市场将于5月19日起恢复交易。伊朗证券交易组织负责交易...
联合国秘书长欢迎黎以延长停火 新华社联合国5月16日电(记者尚绪谦)联合国秘书长发言人办公室16日说,秘书长古特雷斯欢迎黎巴嫩与以...
如何让“彩礼”回归于“礼”?一... 黄河水浇灌出的宁夏红寺堡是中国最大的生态移民安置区,宁南八县的乡音在此交汇,对美好生活的期盼与发展中...
原创 外... 外星翻译官的翻车现场:地球语言真的太难了! 银河系翻译官协会(假想机构)最近发布了一份年度报告,总...
首飞成功!已突破大重量载荷发射... 科技日报记者 付毅飞 实习生 张城辉 记者从蓝箭航天获悉,5月14日11时0分,朱雀二号改进型遥五运...
京东携手MAXHUB共推AI智... PChome消息,近日,京东与智能会议平板领域领军品牌MAXHUB正式签署战略合作协议,标志着双方战...
29个智能气象站启动业务试运行 本报北京5月15日电(记者李红梅)记者从中国气象局获悉:北京密云等29个智能气象站已于近日启动业务试...
广西一载15人车辆坠河,10人... 记者从广西环江毛南族自治县相关方面获悉,据初步了解,5月16日21时30分许,一辆汽车在环江县洛阳镇...
iOS 26.5更新苹果地图两... 苹果地图是iOS 26.5此次更新中获得新功能的应用之一。以下是地图用户需要了解的最新变化。 推荐...
每经热评 | 黄仁勋喝蜜雪冰城... 每经评论员 朱成祥 黄仁勋近期到访北京,被拍到在胡同喝豆汁、吃炸酱面、举着蜜雪冰城饮料。他表情轻松,...