当前位置:网站首页>SaltStack State状态文件配置实例
SaltStack State状态文件配置实例
2022-06-24 18:51:00 【51CTO】
简单介绍
什么是state模块?
- 远程执行是salt的核心所在。
- 管理员可以通过执行远程执行模块,达到对minion的控制(如cmd.run “yum install -y httpd”)。但对于minion的环境或者状态控制,即你想让minion达到一个什么样的状态,用state模块更便利。 只需要描述想让salt minion达到什么状态即可,执行部分由state模块完成。
远程执行&&State模块:
- 区别:执行模块是过程式,连续调用时将执行相同的逻辑和指令;状态模块为描述性的,它们只是执行必要的工作,在minion上根据描述文件达到指定的状态。
- 所有的state模块都会遵循这个原则,只在检测到真实状态和所需状态不同的情况下才执行功能。这可以通过判断来让minion以最小的代价进入指定的状态。
State 配置文件(sls)
SLS配置文件使用 YAML 语言描述。Salt默认的sls文件的renderer是 YAML renderer,它的工作是将YAML数据格式的结构编译成为Python数据结构给Salt使用。
重要的三个规则:
- 缩进:用两个空格,不要使用 tab 键。
- 冒号:与Python的映射如下:
- 短横杠:用一个短横杠加一个空格来表示列表项(Python中的列表[])
State文件的格式:
State sls配置文件中:
- <ID Declaration>必须是独一无二的有效的Python字符串,自定义的。
- <State Module>.<Function>与远程执行命令采用相同格式,但是具体支持的模块和函数与远程执行的模块和函数有差异,可分别通过sys.list_state_modules、sys.list_state_functions 查看,远程对应的则是sys.list_modules、sys.list_functions。
- 最后是函数参数,首个函数参数通常是name,然后是状态所需的其他参数。具体用法可参考sys.state_doc.
实践案例
- 配置windows防火墙
conf-firewall.sls
实践效果:
执行前,私有网络和共有网络防火墙为开启状态;state执行后,变成关闭状态。
- 管理windows服务
conf-services.sls
实践效果:
执行前:

执行后: 两个服务均被停止运行,且w32Time被设置为开机自启动。

- 执行ps脚本【以服务器封网为例】
conf-gateway.sls
执行前:

执行后: 缺省网关被删除。

- 启用RDP远程桌面
conf-rdp.sls
实践效果:

边栏推荐
- 我用sql形式的会出现cdc读取乱序吗
- 干货 | 新手经常忽略的嵌入式基础知识点,你都掌握了吗?
- 佛祖保佑 永无BUG
- 企业网络管理员必备的故障处理系统
- Will the CDC read out of order when I use SQL
- Xiaobai, let me ask you guys, is MySQL binlog extracted by CDC in strict order
- mysql binlog 数据源配置文档麻烦分享一下
- Unity移动端游戏性能优化简谱之 以引擎模块为划分的CPU耗时调优
- How do programmers do we media?
- NFT质押流动性挖矿系统开发技术
猜你喜欢

High dimension low code: component rendering sub component

华为机器学习服务语音识别功能,让应用绘“声”绘色

一文理解OpenStack网络

Remote sensing Forum

Do you have all the basic embedded knowledge points that novices often ignore?

Spatial simulation model acquisition future land cover tutorial

一次 MySQL 误操作导致的事故,高可用都不顶不住!

Interprétation de la thèse (SR - gnn) Shift Robust GNNS: Overcoming the Limits of Localized Graph Training Data

Volcano成Spark默认batch调度器

60 个神级 VS Code 插件!!
随机推荐
Source code analysis of ArrayList
使用阿里云RDS for SQL Server性能洞察优化数据库负载-初识性能洞察
The verifiable certificate of geoscience remote sensing industry
Ask a question. Adbhi supports the retention of 100 databases with the latest IDs. Is this an operation like this
全链路业务追踪落地实践方案
上位机与MES对接的几种方式
Volcano becomes spark default batch scheduler
Does version 2.2.0 support dynamic addition of MySQL synchronization tables
PingCAP 入选 2022 Gartner 云数据库“客户之声”,获评“卓越表现者”最高分
一文理解OpenStack网络
Apifox与其他接口开发工具的博弈
Understanding openstack network
Volcano成Spark默认batch调度器
Huawei machine learning service speech recognition function enables applications to paint "sound" and color
程序员如何做自媒体?
假如,程序员面试的时候说真话
A detailed explanation of the implementation principle of go Distributed Link Tracking
通过SCCM SQL生成计算机上一次登录用户账户报告
一文理解OpenStack网络
論文解讀(SR-GNN)《Shift-Robust GNNs: Overcoming the Limitations of Localized Graph Training Data》