一个简单的例子了解states
在大规模的配置管理工作中,我们要编写大量的states.sls文件。top.sls是states系统的入口文件,它负责指定哪些设备调用哪些states.sls文件。statse的默认工作目录是在/srv/salt目录下:
[root@master salt]# vim /etc/salt/master
599 file_roots:
600 base:
601 - /srv/salt/
接下来我们以一个简单的例子来了解一下states文件。
<1>创建nginx目录,并且区分生产环境目录和测试环境目录。
[root@master salt]# pwd
/srv/salt
[root@master salt]# tree
.
├── nginx
│ ├── produced //生产环境目录
│ │ ├── nginx.conf
│ │ └── nginx.sls
│ └── testing //测试环境目录
│ ├── nginx.conf
│ └── one.sls
└── top.sls //入口文件
<2>编辑一下states入口文件
[root@master salt]# vim top.sls
base:
'minion-1': //代表匹配minion-1
- nginx.produced.nginx //引用nginx/produced/nginx.sls文件
'minion-2': //代表匹配minion-2
- nginx.testing.nginx //引用nginx/testing/nginx.sls文件
<3>编辑生产环境的sls文件
[root@master salt]# vim nginx/produced/nginx.sls
/usr/local/nginx/config/nginx.conf: //远端的需要管理的文件及路径
file.managed:
- source: salt://nginx/produced/nginx.conf //本地的文件地址
- user: root //文件属主
- group: root //文件属组
- mode: 755 //权限
<4>编辑nginx.conf文件以区别和测试环境的差异,在此我们就修改第一行
[root@master salt]# vim nginx/produced/nginx.conf
1 user nginx nginx;
<5>编辑测试环境的sls文件
[root@master salt]# vim nginx/testing/nginx.sls
/usr/local/nginx/config/nginx.conf:
file.managed:
- source: salt://nginx/testing/nginx.conf
- user: www
- group: www
- mode: 755
<6>编辑nginx.conf文件以区别和生产环境的差异,在此我们也修改第一行
[root@master salt]# vim nginx/testing/nginx.conf
1 user www www;
<7>执行生产环境的sls文件
[root@master salt]# salt 'minion-1' state.highstate
<8>去minion-1主机上看一下nginx.conf文件内容
[root@minion-1 ~]# vim /usr/local/nginx/config/nginx.conf
1 user nginx nginx;
<9>再执行测试环境的sls文件
[root@master salt]# salt 'minion-2' state.highstate
<10>去测试环境服务器上看一下nginx.conf文件
[root@minion-2 ~]# vim /usr/local/nginx/config/nginx.conf
1 user www www;
一个简单的例子了解states的更多相关文章
- 用一个简单的例子来理解python高阶函数
============================ 用一个简单的例子来理解python高阶函数 ============================ 最近在用mailx发送邮件, 写法大致如 ...
- Spring-Context之一:一个简单的例子
很久之前就想系统的学习和掌握Spring框架,但是拖了很久都没有行动.现在趁着在外出差杂事不多,就花时间来由浅入深的研究下Spring框架.Spring框架这几年来已经发展成为一个巨无霸产品.从最初的 ...
- 关于apriori算法的一个简单的例子
apriori算法是关联规则挖掘中很基础也很经典的一个算法,我认为很多教程出现大堆的公式不是很适合一个初学者理解.因此,本文列举一个简单的例子来演示下apriori算法的整个步骤. 下面这个表格是代表 ...
- 扩展Python模块系列(二)----一个简单的例子
本节使用一个简单的例子引出Python C/C++ API的详细使用方法.针对的是CPython的解释器. 目标:创建一个Python内建模块test,提供一个功能函数distance, 计算空间中两 ...
- fitnesse - 一个简单的例子(slim)
fitnesse - 一个简单的例子(slim) 2017-09-30 目录1 编写测试代码(Fixture code)2 编写wiki page并运行 2.1 新建wikiPage 2.2 运行 ...
- Struts2的配置和一个简单的例子
Struts2的配置和一个简单的例子 笔记仓库:https://github.com/nnngu/LearningNotes 简介 这篇文章主要讲如何在 IntelliJ IDEA 中使用 Strut ...
- 一个简单的例子搞懂ES6之Promise
ES5中实现异步的常见方式不外乎以下几种: 1. 回调函数 2. 事件驱动 2. 自定义事件(根本上原理同事件驱动相同) 而ES6中的Promise的出现就使得异步变得非常简单.promise中的异步 ...
- 跨站脚本功攻击,xss,一个简单的例子让你知道什么是xss攻击
跨站脚本功攻击,xss,一个简单的例子让你知道什么是xss攻击 一.总结 一句话总结:比如用户留言功能,用户留言中写的是网页可执行代码,例如js代码,然后这段代码在可看到这段留言的不同一户的显示上就会 ...
- Linux内核中的信号机制--一个简单的例子【转】
本文转载自:http://blog.csdn.net/ce123_zhouwei/article/details/8562958 Linux内核中的信号机制--一个简单的例子 Author:ce123 ...
随机推荐
- ubuntu16.04 登陆不进桌面
ubuntu 16.04 登陆不进桌面 问题描述: 系统软件升级之后,重启,在登陆界面输入密码后,回车,闪现一次黑屏和一些代码,然后又重新回到登陆界面. 原因分析: 有两种可能: 1.主目录下的.Xa ...
- SecureCRT通过SSH2协议远程登录Ubuntu 18.04的过程总结
reference: https://blog.csdn.net/ghostar03/article/details/47441715 https://blog.csdn.net/u011186256 ...
- 第九周学习笔记-ADO.Net中DataSet的应用
一.知识点描述 1.含义:DataSet是ADO.Net的断开式结构的核心组件,它可以用于多种不同的数据源,用于XML数据,或用于管理应用程序本地的数据.DataSet包含一个或多个DataTable ...
- selenium的定位方式
1.selenium的定位方式 selenium有18种定位方式,8种单数,8种复数,2种父类 2.8种单数定位方式 from selenium import webdriverimport time ...
- python模块之_正则 re_configparser_logging_hashlib
正则表达式的内容放在最下面了 configparser 模块: #!/usr/bin/env python # coding:utf-8 import configparser # 专门用于操作配置文 ...
- 使用Pillow库 创建简单验证码
使用Pillow生成简单的验证码 本想做成字体各自按随机角度倾斜, 但没有在Pillow中找到相关的方法 import randomfrom PIL import Image, ImageDraw, ...
- mac 内置PHP配置多站点
1.修改/private/etc/hosts 文件,建议用编辑器打开 最后一行加入你的网站名称(自定义),参考如下: 127.0.0.1 www.MyObj.com 2.修改/private/et ...
- flock
为了确保操作的有效性和完整性,可以通过锁机制将并发状态转换成串行状态.作为锁机制中的一种,PHP的文件锁也是为了应对资源竞争.假设一个应用场景,在存在较大并发的情况下,通过fwrite向文件尾部多次有 ...
- oracle 表空间不足处理
linux环境将*.dmp文件导入数据库时,df -h 发现测试环境虚拟机空间不足,而数据文件xxx.dbf所占空间达到40G左右,果断删除表空间重建在导入. 一.查出存储数据表空间名称 selec ...
- ubuntu配置neuwork网络
ubuntu 网络配置 检查网络配置命令:ifconfig 一.通过配置文件配置 新手没怎么用过Ubuntu,所以走了不少弯路,网上找了很多方法,大都没对我起到帮助作用,所以把自己的配置方法写一写. ...