saltstack之(六)配置管理state

配置管理是saltstack工具最重要的模块之一,也是学习saltstack之后使用最多的一个功能。可以轻松实现上百台上千台甚至上万台服务器的管理工作。

1.使用state模块进行配置管理,编写sls文件,sls文件使用的是yaml语法格式。

yaml文件的语法格式:
  structure通过空格来展示。
  sequence里的项用"-"来表示。
  map里的键值对用":"来表示。

2.常用的state模块及方法:
file:
  file.managed --文件管理(重点)
  file.append --文件追加
  file.absent --删除文件
  file.directory --创建目录
  file.recurse --递归拷贝目录到minion端

pkg:
  pkg.installed --软件包安装(重点)
  pkg.latest --保持软件包为最新版本
  pkg.remove --卸载软件包
  pkg.purge --下载软件包,删除配置文件

service:
  service.running --确保服务处于运行状态(重点)
  service.enabled --开机启动
  service.disabled --开机不启动
  service.dead --确保服务处于未运行状态

cmd:
  cmd.run --执行shell命令

3.模块之间的依赖关系
watch: 关注某一事件变化
watch_in: 被关注自身事件变化
require: 依赖某一事件发生
require_in: 被依赖自身事件发生
unless: 判断是否为false,如果为false则执行。常用在cmd中name的命令。
onlyif: 判断是否为true,如果为true则执行。

4.jinja模板

jinja是基于python的模版引擎。template类是jinja的一个重要组件,它可以被看作是一个编译过的模板文件,被用来产生目标文件。

5.编写state文件并使用jinja模板的步骤:
①.在state文件中使用"- template: jinja"声明。
②.在模版文件中使用变量"{{ name }}"声明,name为变量,自己定义。
③.在state文件中使用"- defautls: name: value"声明。

时间: 2024-10-10 16:45:24

saltstack之(六)配置管理state的相关文章

saltstack之(八)配置管理部署LAMP

场景:公司有10台服务器需要安装lamp测试环境,使用saltstack编写state文件进行批量部署,可以提高工作效率,减少人为出错的可能性,保证环境的一致性. saltstack之配置管理lamp实战案例: 1.修改master配置文件,指定dev环境. [[email protected] dev]# egrep -A 4 ^file /etc/salt/master file_roots: base: - /srv/salt/base dev: - /srv/salt/dev 2.编写s

SaltStack实战之配置管理-Jinja2模板

SaltStack实战之配置管理-Jinja2模板 学习 SaltStack SaltStack实战之配置管理-Jinja2模板 1. Salt yaml配置文件使用Jinja2模板介绍 1.1 File状态使用template参数 1.2 模板文件里面变量使用{{ 名称 }} 1.3 变量列表 2. 实战应用 1. Salt yaml配置文件使用Jinja2模板介绍 jinja2官方网站: http://jinja.pocoo.org/ 1.1 File状态使用template参数 - tem

SaltStack实战之配置管理-YAML编写技巧

SaltStack实战之配置管理-YAML编写技巧 学习 SaltStack SaltStack实战之配置管理-YAML编写技巧 1. 概述和内容 2. YAML编写技巧 2.1 缩进 2.2 冒号 2.3 短横线 3. 同步文件实战 1. 概述和内容 salt包含一个健壮且灵活的配置管理框架,它构建在远程执行核心上.这个框架运行于minion上,它通过特定呈现语言的state文件,即可轻松地同时配置成千上万的主机. 后面配置管理所介绍的内容有: file_roots 设置状态文件的位置 env

SaltStack实战之配置管理-LAMP自动化部署

SaltStack实战之配置管理-LAMP自动化部署 学习 SaltStack SaltStack实战之配置管理-LAMP自动化部署 1. 部署思路 2. 编写lamp.sls 1. 部署思路 将lamp分成3部分:软件包.配置文件.服务: 确认安装的软件包名.配置文件路径.服务名等: 按以上信息编写yaml文件: 2. 编写lamp.sls [[email protected] salt]# pwd/srv/salt[[email protected] salt]# lsdev  init  

netstat 第六列State的状态信息

[[email protected]_45 ~]$ netstat -n Active Internet connections (w/o servers) Proto Recv-Q Send-Q Local Address               Foreign Address             State tcp        0      0 10.172.83.189:43003         10.172.161.158:6379         TIME_WAIT Pro

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

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 # 确保

saltstack之(九)配置管理源码部署Nginx

场景:rpm包安装的nginx服务,无法满足定制模块的需求,故线上环境使用nginx源码进行安装.本片文章详细介绍如何使用saltstack的配置管理功能实现nginx软件的源码安装. 下载源码:pcre下载源码:nginx 1.修改master配置文件,指定环境为prod. [[email protected] prod]# egrep -A 6 ^file_roots /etc/salt/master file_roots: base: - /srv/salt/base dev: - /sr

SaltStack远程控制、配置管理与实战介绍

说明:      本文档仅写了一些基础的SaltStack操作命令,但这些命令也是工作中经常会用到的,像grains.pillar.jinja2功能更强大,但如果不是大批量升级改造的话一般不需用到.更高级的操作请参阅书籍. 1.salt常用命令 salt-key –L 或 salt-key:列出各minion的授权状态 salt 'minion-25.180' sys.doc test.echo: sys.doc用来获取模块的用处和示例用法 salt 'minion-25.180' test.p

saltstack管理六之数据同步方式

salt数据同步方式 方式一: minion自动向master进行数据同步: 默认是60秒自动同步一次数据 自动同步时间间隔由参数loop_interval来决定(minion端) [[email protected] salt]# grep loop_interval /etc/salt/minion # The loop_interval sets how long in seconds the minion will wait between #loop_interval: 60 如果我们