码迷,mamicode.com
首页 > 其他好文 > 详细

SaltStack配置管理

时间:2018-03-29 10:26:43      阅读:197      评论:0      收藏:0      [点我收藏+]

标签:HERE   gpo   srv   ack   编程   state   etc   apt   不同   

  上一篇:SaltStack远程执行

  配置管理使用YAML标记语言

  YAML

  YAML是“YAML不是一种记语言”的外语缩写 [1]  (见前方参考资料原文内容);但为了强调这种语言以数据做为中心,而不是以置标语言为重点,而用返璞词重新命名。它是一种直观的能够被电脑识别的数据序列化格式,是一个可读性高并且容易被人类阅读,容易和脚本语言交互,用来表达资料序列的编程语言。

  格式

  数据结构可以用类似大纲的缩排方式呈现,结构通过缩进来表示,连续的项目通过减号“-”来表示,map结构里面的key/value对用冒号“:”来分隔。样例如下:

house:
  family:
    name: Doe
    parents:
      - John
      - Jane
    children:
      - Paul
      - Mark
      - Simone
  address:
    number: 34
    street: Main Street
    city: Nowheretown
    zipcode: 12345

  

  注意:
  1. 字串不一定要用双引号标识;
  2. 在缩排中空白字符的数目并不是非常重要,只要相同阶层的元素左侧对齐就可以了(不过不能使用TAB字符);
  3. 允许在文件中加入选择性的空行,以增加可读性;
  4. 在一个档案中,可同时包含多个文件,并用“——”分隔;
  5. 选择性的符号“...”可以用来表示档案结尾(在利用串流的通讯中,这非常有用,可以在不关闭串流的情况下,发送结束讯号)。

  三个规则

  缩进:默认两个空格,不能使用Tab键

  冒号:冒号后面必须有一个空格,类似于Python的key和value

     有两种写法

my_key: my_value

my_key: 
  my_value

  短横线:后面有一个空格,表示列表,列出多个(比如需要安装多个软件包)

 

  写一个配置

  修改master配置文件/etc/salt/master定义路径(实际生产有测试,开发,生产等目录)

技术分享图片

  新建这几个文件夹

mkdir -p /srv/salt/{base,dev,test,prod}

技术分享图片

  重启master

systemctl restart salt-master

  PS:file_roots下面base文件夹是必备的

  进入文件夹cd /srv/salt/base/写配置文件,为了区分不同的软件可以在此处新建一个web文件夹

mkdir web
cd web/

技术分享图片

  写一个安装apache的状态(后缀必须是sls结尾)/srv/salt/base/web/apache.sls

apache-install:
  pkg.installed:
    - name: httpd
    
apache-service:
  service.running:
    - name: httpd
    - enable: True

  apache-install和apache-service是key也可以叫ID唯一标识符,不能重复

  pkg是一个状态模块使用里面的方法installed安装包

  sevice是一个状态模块使用里面的running运行方法

  name是安装的包名称或者管理的服务的名称

  enable是设置开机自动启动

  PS:salt从上往下读取执行,读取到安装包的命令不同的操作系统使用的命令不同,CentOS使用yum安装,ubuntu使用apt-get安装。(这里是一个虚拟的配置文件salt会根据不同的系统执行的命令不同)

  

  执行前先看

  master定义的路径是

技术分享图片

  配置文件的路径是

技术分享图片

  执行

salt ‘linux-node2.example.com‘ state.sls web.apache

技术分享图片

  往linux-node2.example.com主机执行,state是模块,sls是执行方法默认执行是从base目录下面执行,只需要写执行的配置文件名,不需要加后缀sls

  PS:加入需要执行master设置的其他目录下面的模块比如需要执行prod目录下面的配置文件加参数,saltenv=prod就是从prod下面开始执行了

   

  可以看到node2上面已经启动了httpd

技术分享图片

  停止了httpd然后再次在master执行刚刚的命令

技术分享图片

  所以saltstack除了配置管理也可以状态管理

  

  

 

SaltStack配置管理

标签:HERE   gpo   srv   ack   编程   state   etc   apt   不同   

原文地址:https://www.cnblogs.com/minseo/p/8667773.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!