4323213 发表于 2017-3-3 11:24:20

saltstack之自动化配置



SaltStack


http://www.saltstack.cn/

中国saltstack 用户组

http://repo.saltstack.com

仓库

https://saltstack.com/
官网





















saltAir

http://list.youku.com/albumlist/show?id=20177676&ascending=1&page=1


工具化   标准化


Python   REST API 

监控配置管理


Puppet + func rubyansible python


三大功能:

      远程执行
   配置管理 (状态)

   云管理


四种运行方式:

      Local
      Minion/Master    C/S

      Dyndic- Zabbix proxy

      SaltSSH


Centos 部署

sudo yum install https://repo.saltstack.com/yum/redhat/salt-repo-latest-1.el7.noarch.rpmhttp://repo.saltstack.com/#rhel


vim /etc/saltminion

systemctl startsalt-minion


salt-key


salt-key -a linux-*



salt '*' test.ping


典型案例
1, 远程执行   salt'*'cmd.run   'uptime'
2,State      一个文件   格式 : YAML   后缀.sls


YAML:三板斧
      1.缩进       2个空格, 不能TAB
      2.冒号      

      3.短横线



apache-install:
pkg.installed:
    - names:   

      -httpd
      -httpd-devel

apache-service:
    service.running:
      - name: httpd
      - enable:True


salt'*' state.sls web.apache

tree /var/cache/salt/


top.sls


lsof -i:4505 -n


发布与订阅



yum install -ypython-setproctitle



SaltStack数据系统
   Grains:静态数据   当Minion 启动的时候收集的Minion 本地的相关信息

               操作系统版本    内核版本    CPU内存 硬盘   设备型号   序列号
         1, 资产管理
         2,用于目标选择
         3, 配置管理中使用


salt"localhost"   grains.items

salt"localhost"   grains.item os


salt -G'os:CentOS'   cmd.run'echo hehe'

自定义 grains

   vim/etc/salt/minion

   /etc/salt/grains

salt'*'grains.item hehe

salt '*'saltutil.sync_grains

TOPFILE 使用案例

开发一个Grains:

    Python写一个Python 脚本,返回一个字典就可以了。



Pillar

是动态的。 给特定的Minion 指定特定的数据。 只有指定的minion 自己能看到自己的数据。
top file


pillar_roots:
base:
    - /srv/pillar


[*]目标选择   

Grains VSPillar
类型       数据采集   应用场景                                                             定义位置

静态       minion 启动时采集   数据查询   目标选择   配置管理          minion

动态       master 自定义      目标选择   配置管理      敏感数据         master






页: [1]
查看完整版本: saltstack之自动化配置