当前位置:网站首页>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
实践效果:

边栏推荐
- Starring V6 platform development take out point process
- A detailed explanation of the implementation principle of go Distributed Link Tracking
- Application DDoS attack principle and defense method
- 为什么 useEvent 不够好
- 【计算讲谈社】第三讲:如何提出关键问题?
- 工作6年,月薪3W,1名PM的奋斗史
- Ask a question. Adbhi supports the retention of 100 databases with the latest IDs. Is this an operation like this
- 优维低代码:构件渲染子构件
- 我用sql形式的会出现cdc读取乱序吗
- 制造业项目MDM主数据项目实施心得
猜你喜欢

Northwestern Polytechnic University attacked by hackers? Two factor authentication changes the situation!

物联网?快来看 Arduino 上云啦

网络安全审查办公室对知网启动网络安全审查

Make track map

为什么 useEvent 不够好

干货 | 新手经常忽略的嵌入式基础知识点,你都掌握了吗?

一文理解OpenStack网络

一文详解|Go 分布式链路追踪实现原理
![[leetcode] rotation series (array, matrix, linked list, function, string)](/img/9e/079311df16fa8e28708f4e050e531f.png)
[leetcode] rotation series (array, matrix, linked list, function, string)

论文解读(SR-GNN)《Shift-Robust GNNs: Overcoming the Limitations of Localized Graph Training Data》
随机推荐
Introduction to alos satellite
特尔携手微软发挥边云协同势能,推动AI规模化部署
System design idea of time traceability
The sharp sword of API management -- eolink
【计算讲谈社】第三讲:如何提出关键问题?
Unityshader world coordinates do not change with the model
NFT双币质押流动性挖矿系统开发
Buddha bless you that there will never be a bug
Why useevent is not good enough
subject may not be empty [subject-empty]
The group offsets of the Kafka of the Flink SQL. If the specified groupid is not mentioned
优维低代码:构件渲染子构件
Introduction to smart contract security audit delegatecall (2)
使用阿里云RDS for SQL Server性能洞察优化数据库负载-初识性能洞察
How to protect biological privacy in the AI era? Overview of the latest "privacy enhancement technology in biometrics" of the Autonomous University of Madrid, comprehensively detailing the biometric p
Freeswitch uses origin to dialplan
为什么 useEvent 不够好
Application scenarios of channel of go question bank · 11
对国产数据库厂商提几个关于SQL引擎的小需求
Mqtt protocol usage of LabVIEW