前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Saltstack配置管理(State状态模块)

Saltstack配置管理(State状态模块)

作者头像
用户8851537
修改2021-07-30 10:44:11
8730
修改2021-07-30 10:44:11
举报
文章被收录于专栏:用户8851537的专栏

1. Saltstack的配置管理---State状态模块

Salt通过State模块来进行文件的管理;通过YAML语法来描述,后缀是.sls的文件 。

1.1 了解YAML

remove vim:

pkg.removed:

- name: vim 

注意:

  • 带有ID和每个函数调用的行都以冒号(:)结束。
  • 每个函数调用在ID下面缩进两个空格。
  • 参数作为列表传递给每个函数。
  • 每行包含函数参数的行都以两个空格缩进开头,然后是连字符,然后是一个额外的空格。
  • 如果参数采用单个值,则名称和值位于由冒号和空格分隔的同一行中。
  • 如果一个参数需要一个列表,则列表从下一行开始,并缩进两个空格

1.2 配置salt,定义环境  告诉salt去哪里找配置状态文件

  • 首先定义环境目录,file_roots;
  • 其次创建上面定义的目录;
  • 最后重启服务

vi /etc/salt/master

以上为默认file_roots信息,创建如下内容(其中base目录是必须的):

mkdir -p /srv/salt/{base,dev,test,prod}   #创建目录

systemctl restart salt-master  #重启服务

务必做测试。

为什么测试存在问题,查看存在一个报错:"could not find expected ':' "  ,原因为:  重新查看yml配置文件!

1.3 编写sls文件(salt state的缩写),配置在对应的目录

 1.3.1 在base环境下编写一个安装apache的sls文件

      题外话,运维需要统一标准,建议此处命名开头采用小写字母。(主机名建议采用-,而不是_,为的就是后期主机名做DNS解析就麻烦了。)

apache-install:    #定义apache的ID声明(全局唯一状态标识),检查设备有没有http,若存在就忽略,没有才安装

pkg.installed:    #pkg是状态模块,installed是pkg状态模块的方法

- name: httpd  #-name是installed的方法参数

apache-service:    #定义apache的ID声明(全局唯一状态标识),保障httpd处于运行状态,检查是否运行,运行就忽略,没运行就安装

service.running: #service是状态模块,running是service状态模块的方法

- name: httpd   #-name是installed的方法参数

- enable: True   #-enable是installed的方法参数

1.4 使用salt命令的state状态模块让minion应用配置

# 让所有的minion都安装apache(由于salt默认的环境就是base,所以可以直接在后面指定调用的apache.sls文件,不要后缀sls)

salt'*' state.sls apache

# 让所有的minion都安装vsftpd(saltenv指定环境)

salt'*' state.sls vsftpd saltenv=dev

# 让其中一台minion(Saltstack02)安装apache

salt'Saltstack02*' state.sls apache

在master上面执行后,在被执行的minion上查看:

ps aux  | grep yum 

安装完成后,master返回结果:

5.  使用salt命令执行高级状态。建议将同一类的放置在一个目录下,以“.”的方式进行调用

salt'Saltstack02*'state.sls web.apache

6、使用salt的高级状态使不同主机应用不同的配置

查看一下salt如何定义的高级状态

以上可知状态系统可以使用一个“top”file入口文件,放置在base环境目录下,命名为top.sls,默认不建议更改其内容。

base:

'Saltack02':

- web.apache

'Saltstack01':

- web.apache

salt'*'state.highstate   # 启用高级状态,去topfile里面读取(只是去通知主机干什么,而至于执行或不执行,执行什么,由topfile决定。

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. Saltstack的配置管理---State状态模块
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档