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

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

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

[[email protected] base]# egrep -A 2 ^file_roots /etc/salt/master
file_roots:
  base:
    - /srv/salt/base

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

[[email protected] 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进去,详见最后一个文件内容。

[[email protected] base]# cat top.sls
base:
  ‘*‘:
    - init.env_init

[[email protected] base]# cat init/dns.sls
dns-service:
  file.managed:
    - name: /etc/hosts
    - source: salt://init/files/hosts
    - user: root
    - group: root
    - mode: 644

[[email protected] base]# cat init/history.sls
/etc/profile:
  file.append:
    - text:
      - export HISTTIMEFORMAT="%F %T `whoami`"

[[email protected] base]# cat init/sysctl.sls
net.ipv4.ip_forward:
  sysctl.present:
    - value: 1
vm.swappiness:
  sysctl.present:
    - value: 1

[[email protected] 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 

[[email protected] base]# cat init/env_init.sls
include:
  - init.dns
  - init.sysctl
  - init.history
  - init.zabbix_agent

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

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

时间: 2024-10-07 06:10:07

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

自动化运维Saltstack系列(六)之配置管理系统模块

架构图 Saltstack配置管理大型web架构网站其实并不是很难,最主要是合理管理各功能模块之间依赖关系,尽量独立各功能模块,让每一个系统功能都可以被业务引用. Saltstack环境目录 file_roots:   base:     - /srv/salt/base   prod:     - /srv/salt/prod pillar_roots:   base:     - /srv/pillar/base   prod:     - /srv/pillar/prod Saltstac

<Puppet 集中配置管理系统RHEL6>

Puppet 集中配置管理系统 puppet 是一个配置管理工具, 典型的, puppet 是一个 C/S 结构, 当然,这里的 C 可以有很多,因此,也可以说是一个星型结构. 所有的 puppet 客户端同一个服务器端的 puppet 通讯. 每个puppet 客户端每半小时(可以设置)连接一服务器端, 下载最新的配置文件,并且严格按照配置文件来配置服务器. 配置完成以后,puppet 客户端可以反馈给服务器端一个消息. 如果出错,也会给服务器端反馈一个消息. 下图展示了一个典型的 puppe

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

目录 1 easyconf的诞生2 easyconf的设计理念 2.1 总体设计 2.2 细节设计 2.2.1 CRUD操作 2.2.2 即时校验 2.2.3 下拉框设计3 easyconf使用指南 3.1 基本步骤 3.2 表配置文件 3.3 easyconf.js的定制 3.3.1 语言 3.3.2 URL地址 3.3.3 自定义校验方法4 easyconf后端开发指南 4.1 请求说明 4.2 返回说明5 下一步的工作 1 easyconf的诞生 大概半年前做一个原型系统,有很多配置数据存

【转】第二课.配置和初始化

原文网址:http://fsjoy.blog.51cto.com/318484/244803 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://fsjoy.blog.51cto.com/318484/244803 第二课.配置和初始化 配置git 在使用git之前你需要配置一下git.git在你创建提交的时候会记录你的名字和email地址,所以你应该告诉git这些内容.可以使用'git config'命令来设置,如果传递参数'-

实战Puppet 集中配置管理系统(3)——Puppet dashboard与nginx+passenger安装配置

     本次实验内容紧接前两次实验,第一节内容主要介绍PUPPET的安装认证与资源定义,第二节主要写apache与nginx模块的应用,本次介绍Puppet dashboard与nginx+passenger 的安装,Puppet dashboard 是用以 web 方式管理 puppet.puppet 默认使用基于 Ruby 的WEBRickHTTP 来处理 HTTPS 请求,单个服务器使用Apache/Nginx+Passenger 替换掉 WEBRickHTTP,Passenger 是用

saltstack的深入-配置zabbix所需的server,web,agent

操作内容: 一.基础环境 1.使用tvm-cobbler安装一个tvm-zabbix虚拟机来做实验.在"配置zabbix所需的mysql-server"的基础上继续操作 2.网络: eth0:host-only(用于虚拟内网,手动固定IP,这样从宿主机可以直接连接到这个vm) eth1:NAT(用于上外网,动态IP) [[email protected] ~]# cd /etc/sysconfig/network-scripts/ [[email protected] network-

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

参选URL: http://www.ibm.com/developerworks/cn/linux/1407_liuming_init1/index.html 本系列一共三篇,看完记住,那水平就不一样啦. 浅析 Linux 初始化 init 系统,第 1 部分: sysvinit 从 sysvinit 到 systemd 近年来,Linux 系统的 init 进程经历了两次重大的演进,传统的 sysvinit 已经淡出历史舞台,新的 init 系统 UpStart 和 systemd 各有特点,

CMDB与自动化运维,配置管理系统三大功能

运维主要工作责任是管理服务器,一般有基础运维和应用运维,应用运维面向业务线 cmdb即配置管理系统三大功能 1,代码的自动上线 2,监控系统 3,自动装机系统 目标: 收集服务器的信息 (cpu, 内存, 网卡, 硬盘等) 实现方式: 1. linux命令获取cpu, 内存,网卡 2. python执行linux的命令 subprocess模块 getoutput函数 agent db 数据清洗分析API 通过requests向API发送 部署在 服务器 上脚本文件 wed界面缺点:每台部署ag

saltstack(七)modules(二)

OK,上一篇总结了execution modules的用法.这一篇准备总结一下state modules该怎么写. 顺便把上一篇execution modules遗留下来的那个装饰器给写一下. 看一下写的这个模块 [email protected]:~# cat /srv/salt/_modules/liss.py  import salt.utils.decorators as decorators import os @decorators.depends('os') def cheng()