SaltStack配置管理

上一篇 / 下一篇  2018-11-06 17:22:42 / 个人分类:配置管理

  配置管理使用YAML标记语言
  YAML
  YAML是“YAML不是一种记语言”的外语缩写[1](见前方参考资料原文内容);但为了强调这种语言以数据做为中心,而不是以置标语言为重点,而用返璞词重新命名。它是一种直观的能够被电脑识别的数据序列化格式,是一个可读性高并且容易被人类阅读,容易和脚本语言交互,用来表达资料序列的编程语言。
  格式
  数据结构可以用类似大纲的缩排方式呈现,结构通过缩进来表示,连续的项目通过减号“-”来表示,map结构里面的key/value对用冒号“:”来分隔。样例如下:
  注意:
  字串不一定要用双引号标识;
  在缩排中空白字符的数目并不是非常重要,只要相同阶层的元素左侧对齐就可以了(不过不能使用TAB字符);
  允许在文件中加入选择性的空行,以增加可读性;
  在一个档案中,可同时包含多个文件,并用“——”分隔;
  选择性的符号“...”可以用来表示档案结尾(在利用串流的通讯中,这非常有用,可以在不关闭串流的情况下,发送结束讯号)。
  三个规则
  缩进:默认两个空格,不能使用Tab键
  冒号:冒号后面必须有一个空格,类似于Python的key和value
  有两种写法
  写一个配置
  修改master配置文件/etc/salt/master定义路径(实际生产有测试,开发,生产等目录)
  新建这几个文件夹
   
1  mkdir-p/s  1rv/salt/{base,dst,ev,teprod}
  重启master
    systectmlrestartsalt-master
  PS:file_roots下面base文件夹是必备的
  进入文件夹cd/srv/salt/base/写配置文件,为了区分不同的软件可以在此处新建一个web文件夹
  
  1  mkdirweb
  2    cdweb/
  执行前先看
  master定义的路径是
  配置文件的路径是
  执行
  1   slat'linux-node2.example.com'state.slsweb.apache
  往linux-node2.example.com主机执行,state是模块,sls是执行方法默认执行是从base目录下面执行,只需要写执行的配置文件名,不需要加后缀sls
  PS:加入需要执行master设置的其他目录下面的模块比如需要执行prod目录下面的配置文件加参数,saltenv=prod就是从prod下面开始执行了
  可以看到node2上面已经启动了httpd
  停止了httpd然后再次在master执行刚刚的命令
  所以saltstack除了配置管理也可以状态管理
  以上安装指定了需要安装的模块安装web下面的apache,不自动化,下面使用topfile自动化
  查看配置文件/etc/salt/master默认可以在base环境下写一个top.sls文件,可以在top.sls指定主机做什么任务(不建议修改名称)
  
  PS:使用高级状态就可以把需要执行的都写在top里面然后只需要执行一条命令即可salt'*'state.highstate
  如果需要验证写的配置文件是否正确可以加参数test=True测试但是不实际执行,测试无误再执行
  
    1  salt'*'state.highstatetest=True

TAG: SaltStack saltstack 配置管理

 

评分:0

我来说两句

日历

« 2021-11-09  
 123456
78910111213
14151617181920
21222324252627
282930    

我的存档

数据统计

  • 访问量: 18360
  • 日志数: 42
  • 建立时间: 2018-11-01
  • 更新时间: 2018-11-06

RSS订阅

Open Toolbar