设为首页 收藏本站
查看: 891|回复: 0

[经验分享] Saltstack配置管理之牛刀小试

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-11-19 09:22:43 | 显示全部楼层 |阅读模式
配置管理是基于远程执行的,实现的是模版引擎的功能
top file的作用:1    指定环境            2   指定Minion       3   指定需要加载的模块
top file必须放在/srv/salt/base下面:
[iyunv@linux-node1 salt]# ll /srv/salt/base/
总用量 8
-rw-r--r-- 1 root root 172 11月 16 21:58 apache.sls
-rw-r--r-- 1 root root  53 11月 16 22:43 top.sls

[iyunv@linux-node1 salt]# vim /etc/salt/master
419 file_roots:
420   base:
421     - /srv/salt/base
422   prod:
423     - /srv/salt/prod
424   test:
425     - /srv/salt/test

根据/etc/salt/master文件中的配置来创建对应的目录
[iyunv@linux-node1 salt]# mkdir /srv/salt/{test,base,prod}

然后重新启动salt-master
[iyunv@linux-node1 salt]# /etc/init.d/salt-master restart
Stopping salt-master daemon:                               [确定]
Starting salt-master daemon:                               [确定]

应用场景1:修改minion上面的dns文件
在基础环境下创建一个files目录,放范例文件
[iyunv@linux-node1 ~]# mkdir /srv/salt/base/files

[iyunv@linux-node1 ~]# vim /srv/salt/base/dns.sls   
/etc/resolv.conf:
  file.managed:
    - source: salt://files/resolv.conf
    - user: root
    - group: root
    - mode: 644

[iyunv@linux-node1 base]# cp /etc/resolv.conf ./files/        将机器上面的/etc/resolv.conf文件拷贝到/srv/salt/base/files/目录下,将第一行删除,如下:

执行状态:
[iyunv@linux-node1 ~]# salt '*' state.sls dns                  =====================>直接执行状态,如下是返回结果
linux-node1.example.com:
----------
          ID: /etc/resolv.conf                                =====================>文件ID
    Function: file.managed                                    =====================>状态和模块
      Result: True                                            =====================>返回结果
     Comment: File /etc/resolv.conf updated                   =====================>输出状态显示
     Started: 13:05:20.253533                                 =====================>开始时间
    Duration: 71.313 ms                                       =====================>执行时间
     Changes:                                                 =====================>如下是文件改变的地方
              ----------
              diff:
                  ---  
                  +++  
                  @@ -1,2 +1,1 @@
                  -# Generated by NetworkManager
                   nameserver 10.0.0.2

Summary
------------
Succeeded: 1 (changed=1)
Failed:    0
------------
Total states run:     1
linux-node2.example.com:
----------
          ID: /etc/resolv.conf
    Function: file.managed
      Result: True
     Comment: File /etc/resolv.conf updated
     Started: 13:05:20.500400
    Duration: 80.807 ms
     Changes:   
              ----------
              diff:
                  ---  
                  +++  
                  @@ -1,2 +1,1 @@
                  -# Generated by NetworkManager
                   nameserver 10.0.0.2

Summary
------------
Succeeded: 1 (changed=1)
Failed:    0
------------
Total states run:     1

[iyunv@linux-node1 base]# cat files/resolv.conf
nameserver 10.0.0.2

[iyunv@linux-node1 ~]# cat /etc/resolv.conf
nameserver 10.0.0.2

[iyunv@linux-node2 ~]# cat /etc/resolv.conf
nameserver 10.0.0.2
结论:linux-node1和linux-node2上面的/etc/resolv.conf文件都修改成功,代表状态执行成功。

场景2: 用高级状态修改文件:
[iyunv@linux-node1 ~]# vim /srv/salt/base/files/resolv.conf
#hehe
nameserver 10.0.0.2

[iyunv@linux-node1 ~]# cat /srv/salt/base/top.sls
base:                                               ===========================>指定的是哪个环境
  '*':                                              ===========================>指定哪台minion
    - dns                                           ===========================>指定哪个状态模块

执行结果展示:
[iyunv@linux-node1 ~]# salt '*' state.highstate
linux-node2.example.com:
----------
          ID: /etc/resolv.conf
    Function: file.managed
      Result: True
     Comment: File /etc/resolv.conf updated
     Started: 13:19:01.723665
    Duration: 48.675 ms
     Changes:   
              ----------
              diff:
                  ---  
                  +++  
                  @@ -1,1 +1,3 @@
                  +#hehe                                           ========>此为添加的地方
                   nameserver 10.0.0.2
                  +

Summary
------------
Succeeded: 1 (changed=1)
Failed:    0
------------
Total states run:     1
linux-node1.example.com:
----------
          ID: /etc/resolv.conf
    Function: file.managed
      Result: True
     Comment: File /etc/resolv.conf updated
     Started: 13:19:01.766432
    Duration: 33.202 ms
     Changes:   
              ----------
              diff:
                  ---  
                  +++  
                  @@ -1,1 +1,3 @@
                  +#hehe                                            ========>此为添加的地方
                   nameserver 10.0.0.2
                  +

Summary
------------
Succeeded: 1 (changed=1)
Failed:    0
------------
Total states run:     1
如上所示,文件修改成功


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-140988-1-1.html 上篇帖子: saltstack之远程执行 下篇帖子: SaltStack配置语法-YAML和Jinja
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表