saltstack的配置管理分环境管理:
①.base为基础环境,一般会存放一些所有服务器都使用的配置管理信息。
②.dev为开发测试环境,一般会存放一些开发测试服务器使用的配置管理信息。
③.pro为线上环境,一般会存放线上服务器使用的配置管理信息。
saltstack的配置管理的state文件入口为top.sls,建议每个环境配置一个top.sls文件。

saltstack之系统初始化实战案例:
1.修改node1上master配置文件,定义base环境。

  1. [root@node1 base]# egrep -A ^file_roots /etc/salt/master
  2. file_roots:
  3. base:
  4. - /srv/salt/base

2.编写state文件,最终的目录树如下所示:

  1. [root@node1 base]# tree /srv/salt/base/
  2. /srv/salt/base/
  3. ├── init
  4.    ├── dns.sls
  5.    ├── env_init.sls
  6.    ├── files
  7.       ├── hosts
  8.       └── zabbix_agentd.conf
  9.    ├── history.sls
  10.    ├── sysctl.sls
  11.    └── zabbix_agent.sls
  12. └── top.sls
  13.  
  14. directories, files

3.state文件的详细内容:
*注释:由于配置文件过多,直接定义在top.sls文件中显得过于臃肿,故定义了一个env_init.sls文件,将所有的state文件include进去,详见最后一个文件内容。

  1. [root@node1 base]# cat top.sls
  2. base:
  3. '*':
  4. - init.env_init
  5.  
  6. [root@node1 base]# cat init/dns.sls
  7. dns-service:
  8. file.managed:
  9. - name: /etc/hosts
  10. - source: salt://init/files/hosts
  11. - user: root
  12. - group: root
  13. - mode:
  14.  
  15. [root@node1 base]# cat init/history.sls
  16. /etc/profile:
  17. file.append:
  18. - text:
  19. - export HISTTIMEFORMAT="%F %T `whoami`"
  20.  
  21. [root@node1 base]# cat init/sysctl.sls
  22. net.ipv4.ip_forward:
  23. sysctl.present:
  24. - value:
  25. vm.swappiness:
  26. sysctl.present:
  27. - value:
  28.  
  29. [root@node1 base]# cat init/zabbix_agent.sls
  30. zabbix-agent:
  31. pkg.installed:
  32. - name: zabbix-agent
  33. file.managed:
  34. - name: /etc/zabbix/zabbix_agentd.conf
  35. - source: salt://init/files/zabbix_agentd.conf
  36. - user: root
  37. - group: root
  38. - mode:
  39. - template: jinja
  40. - defaults:
  41. HOST: 192.168.3.1 ----此处要记得配置模板文件 {{ HOST }},如果不记得使用方法,参考配置管理state文章。
  42. - require:
  43. - pkg: zabbix-agent
  44. service.running:
  45. - name: zabbix-agent
  46. - enable: true
  47. - watch:
  48. - file: zabbix-agent
  49.  
  50. [root@node1 base]# cat init/env_init.sls
  51. include:
  52. - init.dns
  53. - init.sysctl
  54. - init.history
  55. - init.zabbix_agent

4.在node1上master端执行配置管理的state文件,可以先执行测试,测试通过后再执行。

[root@node1 ~]# salt '*' state.highstate env=base test ---加test参数后,模拟执行操作,不会真正执行。
[root@node1 ~]# salt '*' state.highstate env=base

saltstack之(七)配置管理系统初始化init的更多相关文章

  1. easyconf——基于AugularJS的配置管理系统开发框架

    目录 1 easyconf的诞生2 easyconf的设计理念 2.1 总体设计 2.2 细节设计 2.2.1 CRUD操作 2.2.2 即时校验 2.2.3 下拉框设计3 easyconf使用指南 ...

  2. 浅析 Linux 初始化 init 系统,第 1 部分: sysvinit 第 2 部分: UpStart 第 3 部分: Systemd

    浅析 Linux 初始化 init 系统,第 1 部分: sysvinit  第 2 部分: UpStart 第 3 部分: Systemd http://www.ibm.com/developerw ...

  3. puppet(一种Linux、Unix、windows平台的集中配置管理系统)

    puppet是一种Linux.Unix.windows平台的集中配置管理系统,使用自有的puppet描述语言,可管理配置文件.用户.cron任务.软件包.系统服务等.puppet把这些系统实体称之为资 ...

  4. 学习saltstack (七)

    一.SaltStack概述 Salt,,一种全新的基础设施管理方式,部署轻松,在几分钟内可运行起来,扩展性好,很容易管理上万台服务器,速度够快,服务器之间秒级通讯. salt底层采用动态的连接总线, ...

  5. saltstack自动化运维系列⑥SaltStack实践安装配置HAproxy的Keepalived

    saltstack自动化运维系列⑥SaltStack实践安装配置HAproxy的Keepalived 安装配置Keepalived 1.编写功能模块 #创建keepalived目录# mkdir -p ...

  6. saltstack自动化运维系列⑥SaltStack实践安装配置HAproxy

    saltstack自动化运维系列⑥SaltStack实践安装配置HAproxy 下载haproxy1.6.2.tar.gz下载地址:http://www.haproxy.org/download/1. ...

  7. 温故之--Linux 初始化 init 系统

    参选URL: http://www.ibm.com/developerworks/cn/linux/1407_liuming_init1/index.html 本系列一共三篇,看完记住,那水平就不一样 ...

  8. 在过滤器中获取在web.xml配置的初始化参数

    在过滤器中获取在web.xml配置的初始化参数   例如 <filter> <filter-name>cross-origin</filter-name> < ...

  9. nginx&http 第二章 ngx 事件event配置等初始化

    event事件模块,配置分为两层:ngx_events_module 事件模块 和 ngx_event_core_module 事件核心模块.ngx_events_module:模块类型NGX_COR ...

随机推荐

  1. 1. while循环(当循环) 2. do{}while()循环 3. switch cose(多选一) 例子:当选循环下求百鸡百钱 用 switch cose人机剪刀石头布

    1. while循环: 当选循环下求百鸡百钱:如下: 代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN ...

  2. CSS2系列:外边距合并问题(margincollapse)

    外边距合并 w3介绍这个问题地址:https://www.w3.org/TR/CSS2/box.html#collapsing-margins 当两个垂直方向外边距相遇,它们将形成一个折叠外边距. 合 ...

  3. 使用HIBERNATE的SQL查询并将结果集自动转换成POJO

    在某些场合下,我们可能想使用HIBERNATE的框架提供的SQL查询接口,但是,由于实体没有做映射,HIBERNATE不能把结果集转换成你想要的List<POJO>,本文讨论如何在这种情况 ...

  4. maven编译项目理解

    如何运行这个Web项目? 右键项目名称,在弹出的选项中选择 Run As => Maven install,然后 Eclise 会下载并安装相关依赖包.在等待一段时间后,构建成功的结果如下:

  5. UnrealEngine4 PBR Shading Model 概述

      虽然是概述,但内容并还是有些多,写上一篇PBR概念概述后,也在考虑怎么继续下去,最后还是觉得先多写一些东西再慢慢总结,所以还是尽量把这些年PBR相关的Paper精粹沉淀下来吧.     因为UE4 ...

  6. PHP Console工具使用分享

    PHP Console工具使用分享 http://www.open-open.com/lib/view/open1416193590414.html 您的评价:       不错  收藏该经验     ...

  7. 医生加号页改版,就一个Bug, 看医生工作台一期需求

    8/8日报 分级埋点:     [MobClick event:UmengPagePlusDoctor attributes:@{@"page":@"plusPage&q ...

  8. nginx proxy_pass

    在nginx中配置proxy_pass时,如果是按照^~匹配路径时,要注意proxy_pass后的url最后的/,当加上了/,相当于是绝对根路径,则nginx不会把location中匹配的路径部分代理 ...

  9. postgre去重复记录

    postgre去重复记录,主要用到row定位的一个系统表示 “ctid”,能查出纯净的不重复的记录,那要删掉重复值也就容易了,自己去折腾吧. 我所涉及的是得到不重复的记录,就一句话: select c ...

  10. 运维技能大全 | Devops Tools 周期表

    老外整理的 Devops Tools 周期表,可以用酷炫屌炸天形容,划分了数据库.CI.日志.安全.监控.配置管理.云服务等15个大类,120个工具.我是有点孤陋寡闻,很多都没听说过,你要是全学会了你 ...