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

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

[复制链接]

尚未签到

发表于 2018-8-1 06:32:09 | 显示全部楼层 |阅读模式
  配置管理是基于远程执行的,实现的是模版引擎的功能
  top file的作用:1    指定环境            2   指定Minion       3   指定需要加载的模块
  top file必须放在/srv/salt/base下面:
  [root@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
  [root@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文件中的配置来创建对应的目录
  [root@linux-node1 salt]# mkdir /srv/salt/{test,base,prod}
  然后重新启动salt-master
  [root@linux-node1 salt]# /etc/init.d/salt-master restart
  Stopping salt-master daemon:                               [确定]
  Starting salt-master daemon:                               [确定]
  应用场景1:修改minion上面的dns文件
  在基础环境下创建一个files目录,放范例文件
  [root@linux-node1 ~]# mkdir /srv/salt/base/files
  [root@linux-node1 ~]# vim /srv/salt/base/dns.sls
  /etc/resolv.conf:
  file.managed:
  - source: salt://files/resolv.conf
  - user: root
  - group: root
  - mode: 644
  [root@linux-node1 base]# cp /etc/resolv.conf ./files/        将机器上面的/etc/resolv.conf文件拷贝到/srv/salt/base/files/目录下,将第一行删除,如下:
  执行状态:
  [root@linux-node1 ~]# salt '*' state.sls dns                  =====================>直接执行状态,如下是返回结果
  linux-node1.example.com:
  ----------

  >  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:
  ----------

  >  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
  [root@linux-node1 base]# cat files/resolv.conf
  nameserver 10.0.0.2
  [root@linux-node1 ~]# cat /etc/resolv.conf
  nameserver 10.0.0.2
  [root@linux-node2 ~]# cat /etc/resolv.conf
  nameserver 10.0.0.2
  结论:linux-node1和linux-node2上面的/etc/resolv.conf文件都修改成功,代表状态执行成功。
  场景2: 用高级状态修改文件:
  [root@linux-node1 ~]# vim /srv/salt/base/files/resolv.conf
  #hehe
  nameserver 10.0.0.2
  [root@linux-node1 ~]# cat /srv/salt/base/top.sls
  base:                                               ===========================>指定的是哪个环境
  '*':                                              ===========================>指定哪台minion
  - dns                                           ===========================>指定哪个状态模块
  执行结果展示:
  [root@linux-node1 ~]# salt '*' state.highstate
  linux-node2.example.com:
  ----------

  >  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:
  ----------

  >  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
  如上所示,文件修改成功
  老男孩网址:http://www.etiantian.org
  qq:406564728

运维网声明 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.yunweiku.com/thread-544360-1-1.html 上篇帖子: saltstack之远程执行 下篇帖子: SaltStack配置语法-YAML和Jinja
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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