SaltStack学习:salt_state
2015-03-28 10:21
246 查看
1.简单应用
named webserver.sls, containing the following:
In this case it defines the name of the package to be installed.
The second line, called the State declaration, defines which of the Salt
States we are using. In this example, we are using the pkg state to ensure that a given package is installed.
The third line, called the Function declaration, defines which function
in the pkg state module to call.
装软件包
下面让我们来运行我们创建的状态, 打开命令窗口在master 上运行上面语句。
A clean and recommended setup for multiple environments would look like this
the base environment open for generic file transfers. Then the top.sls file
would look something like this:
of matches you can perform:
salt.minion states. Any minion with an id matching the salt-master* glob
will get the salt.master state. Any minion with ids matching the regular
expression ^(memcache|web).(qa|prod).loc$ will get the nagios.mon.web and
apache.server states. All Ubuntu minions will receive the repos.ubuntu state,
while all RHEL and CentOS minions will receive the repos.epel state. The
minions foo, bar, and baz will receive the database state. Anyminion(奴才) with a pillar named somekey, having a value of abc will receive
the xyz state. Finally, minions with ids matching the nag1* glob(一滴) or with a
grain named role equal to monitoring will receive the nagios.server
state. http://docs.saltstack.cn/zh_CN/latest/ref/states/top.html#states-top 本文出自 “Linux革命” 博客,请务必保留此出处http://kaibinyuan.blog.51cto.com/7304008/1625907
建立Salt State树
在Salt中启动一个中心state系统,需要首先确保已经建立了Salt文件服务. 编辑master配置文件(file_roots) 取消如下行的注释:file_roots: base: - /srv/salt重启Salt master以使更改生效:
pkill salt-master salt-master -d
准备Top文件
在master上,之前为未注释的目录下(默认为 /srv/salt),创建一个名为 top.sls 的文件并添加如下内容:base: '*': - webserver
Create an sls file
In the same directory as the top file, create a filenamed webserver.sls, containing the following:
apache: # ID declaration pkg: # state declaration - installed # function declarationThe first line, called the ID declaration, is an arbitrary identifier.
In this case it defines the name of the package to be installed.
The second line, called the State declaration, defines which of the Salt
States we are using. In this example, we are using the pkg state to ensure that a given package is installed.
The third line, called the Function declaration, defines which function
in the pkg state module to call.
装软件包
下面让我们来运行我们创建的状态, 打开命令窗口在master 上运行上面语句。
salt '*' state.highstate
A clean and recommended setup for multiple environments would look like this
# Master file_roots configuration:file_roots: base: - /srv/salt/baseThen only place state trees in the dev, qa, and prod environments, leaving
dev:
- /srv/salt/dev
qa:
- /srv/salt/qa
prod:
- /srv/salt/prod
the base environment open for generic file transfers. Then the top.sls file
would look something like this:
dev: 'webserver*dev*': - webserver 'db*dev*': - db qa: 'webserver*qa*': - webserver 'db*qa*': - db prod: 'webserver*prod*': - webserver 'db*prod*': - db
Other Ways of Targeting Minions
Here is a slightly more complex top file example, showing the different typesof matches you can perform:
base: '*': - ldap-client - networking - salt.minion 'salt-master*': - salt.master '^(memcache|web).(qa|prod).loc$': - match: pcre - nagios.mon.web - apache.server 'os:Ubuntu': - match: grain - repos.ubuntu 'os:(RedHat|CentOS)': - match: grain_pcre - repos.epel 'foo,bar,baz': - match: list - database 'somekey:abc': - match: pillar - xyz 'nag1* or G@role:monitoring': - match: compound - nagios.serverIn this example top.sls, all minions get the ldap-client, networking, and
salt.minion states. Any minion with an id matching the salt-master* glob
will get the salt.master state. Any minion with ids matching the regular
expression ^(memcache|web).(qa|prod).loc$ will get the nagios.mon.web and
apache.server states. All Ubuntu minions will receive the repos.ubuntu state,
while all RHEL and CentOS minions will receive the repos.epel state. The
minions foo, bar, and baz will receive the database state. Anyminion(奴才) with a pillar named somekey, having a value of abc will receive
the xyz state. Finally, minions with ids matching the nag1* glob(一滴) or with a
grain named role equal to monitoring will receive the nagios.server
state. http://docs.saltstack.cn/zh_CN/latest/ref/states/top.html#states-top 本文出自 “Linux革命” 博客,请务必保留此出处http://kaibinyuan.blog.51cto.com/7304008/1625907
相关文章推荐
- saltstack 学习一 (安装)
- 学习一:saltstack安装及简单配置
- SaltStack 学习笔记 - 第三篇: Salt-Minion配置文件详解
- saltstack自动化运学习笔记
- saltstack[2]-命令行与state文件
- saltstack初步学习
- SaltStack的pillar学习
- saltstack(五) saltstack的state状态管理
- saltstack专题学习(一)
- saltstack官方文档——Highstate data structure definitions
- saltstack/salt的state.sls的使用
- saltstack官方文档——Full list of builtin state modules
- SaltStack 学习笔记 - 第四篇: SaltStack常用模块
- SaltStack 学习笔记 - 第六篇: 详解Pillar
- saltstack的深入-再次理解state的基本用法
- saltstack专题学习(二)
- Saltstack自动化的学习笔记
- 学习saltstack之如何使用salt states
- 自动化运维工具SaltStack - 多环境(使用记录【state.sls 与 state.highstate】)
- Saltstack 学习笔记(一)