SaltStack State状态文件配置实例

网友投稿 712 2022-09-10

SaltStack State状态文件配置实例

SaltStack State状态文件配置实例

简单介绍

什么是state模块?

远程执行是salt的核心所在。 管理员可以通过执行远程执行模块,达到对minion的控制(如cmd.run "yum install -y 只需要描述想让salt minion达到什么状态即可,执行部分由state模块完成。

远程执行&&State模块:

区别:执行模块是过程式,连续调用时将执行相同的逻辑和指令;状态模块为描述性的,它们只是执行必要的工作,在minion上根据描述文件达到指定的状态。 所有的state模块都会遵循这个原则,只在检测到真实状态和所需状态不同的情况下才执行功能。这可以通过判断来让minion以最小的代价进入指定的状态。

State 配置文件(sls)

SLS配置文件使用 YAML 语言描述。Salt默认的sls文件的renderer是 YAML renderer,它的工作是将YAML数据格式的结构编译成为Python数据结构给Salt使用。

重要的三个规则:

缩进:用两个空格,不要使用 tab 键。 冒号:与Python的映射如下:

## YAML my_key: my_value ## python {'my_key': 'my_value'} ## YAML my_key1: my_key2:my_value ## python {'my_key': { 'my_key2': 'my_value' } }

短横杠:用一个短横杠加一个空格来表示列表项(Python中的列表[])

keys: - value1 - value2 - value3 ## 映射为Python: {'key':['value1','value2','value3']

State文件的格式:

: .: - name: - - - - : - ## 下面列举写法: : .: - - - - : - - - - : - -

State sls配置文件中:

必须是独一无二的有效的Python字符串,自定义的。 .与远程执行命令采用相同格式,但是具体支持的模块和函数与远程执行的模块和函数有差异,可分别通过sys.list_state_modules、sys.list_state_functions 查看,远程对应的则是sys.list_modules、sys.list_functions。 最后是函数参数,首个函数参数通常是name,然后是状态所需的其他参数。具体用法可参考sys.state_doc.

实践案例

配置windows防火墙

conf-firewall.sls

configure-firewall: win_firewall.disabled: - name: allprofiles

执行前,私有网络和共有网络防火墙为开启状态;state执行后,变成关闭状态。

管理windows服务

conf-services.sls

#启用开机自启 enable-boot-services: service.enabled: - name: w32Time #禁用开机自启 #disable-boot-services: # service.disabled: # - name: w32Time #启服 #start-services: # service.running: # - names: # - w32Time # - wuauserv #停服 stop-services: service.dead: - names: - w32Time - wuauserv

实践效果:

执行前:

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

执行ps脚本【以服务器封网为例】

conf-gateway.sls

clear-gateway: cmd.script: - name: set_netroute.ps1 - source: salt://scripts/Deny_Server_Access_InterNet/set_netroute.ps1 - shell: powershell

执行前:

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

启用RDP远程桌面

conf-rdp.sls

configure-rdp: rdp.enabled

实践效果:

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Python爬虫:设置Cookie解决网站拦截并爬取蚂蚁短租(python selenium 获取cookie)
下一篇:「运维有小邓」审核并分析文件和文件夹访问权限
相关文章

 发表评论

暂时没有评论,来抢沙发吧~