• saltstack之(七)配置管理系统初始化init


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

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

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

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

    [root@node1 base]# tree /srv/salt/base/
    /srv/salt/base/
    ├── init
    │   ├── dns.sls
    │   ├── env_init.sls
    │   ├── files
    │   │   ├── hosts
    │   │   └── zabbix_agentd.conf
    │   ├── history.sls
    │   ├── sysctl.sls
    │   └── zabbix_agent.sls
    └── top.sls
    
    2 directories, 8 files

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

    [root@node1 base]# cat top.sls 
    base:
      '*':
        - init.env_init
    
    [root@node1 base]# cat init/dns.sls 
    dns-service:
      file.managed:
        - name: /etc/hosts
        - source: salt://init/files/hosts
        - user: root
        - group: root
        - mode: 644
    
    [root@node1 base]# cat init/history.sls 
    /etc/profile:
      file.append:
        - text:
          - export HISTTIMEFORMAT="%F %T `whoami`"
    
    [root@node1 base]# cat init/sysctl.sls 
    net.ipv4.ip_forward:
      sysctl.present:
        - value: 1
    vm.swappiness:
      sysctl.present:
        - value: 1
    
    [root@node1 base]# cat init/zabbix_agent.sls 
    zabbix-agent:
      pkg.installed:
        - name: zabbix-agent
      file.managed:
        - name: /etc/zabbix/zabbix_agentd.conf
        - source: salt://init/files/zabbix_agentd.conf
        - user: root
        - group: root
        - mode: 644
        - template: jinja
        - defaults:
          HOST: 192.168.3.1    ----此处要记得配置模板文件 {{ HOST }},如果不记得使用方法,参考配置管理state文章。
        - require:
          - pkg: zabbix-agent
      service.running:
        - name: zabbix-agent
        - enable: true
        - watch:
          - file: zabbix-agent 
    
    [root@node1 base]# cat init/env_init.sls 
    include:
      - init.dns
      - init.sysctl
      - init.history
      - init.zabbix_agent

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

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

  • 相关阅读:
    洛谷P2158 [SDOI2008]仪仗队 欧拉函数的应用
    leetcode 130. 被围绕的区域 DFS
    TediousLee CodeForces
    AccurateLee双指针+贪心+字符串
    leetcode80. 删除排序数组中的重复项 II
    CHFDORA:哆啦 A 梦
    cdq分治浅谈
    leetcode面试题64. 求1+2+…+n
    leetcode84. 柱状图中最大的矩形
    leetcode874. 模拟行走机器人
  • 原文地址:https://www.cnblogs.com/xkops/p/5483073.html
Copyright © 2020-2023  润新知