gerrt23 发表于 2015-7-21 08:39:58

salt配置管理

state树结构
# tree .
.
├── app_env   #应用环境
├── grains       #动态变量
├── int_env   #初始化环境
├── modules   #模块
├── pillar         #静态变量
├── template   #模板
└── top.sls   #top.sls是配置管理的入口文件
这里介绍一下sls文件

sls文件是state系统的核心。sls描述了系统的目标状态。
使用子目录来做组织是个很好的选择,每一个子目录描述一个资源。每个子目录可以由一个点来表示。selinux.init代表的就是子目录selinux/init.sls
init.sls在一个子目录里面表示引导文件,也就表示子目录本身。所以selinux.init.sls代表的就是子目录selinux
定义一个selinux的环境

1
2
3
4
5
6
7
8
9
mkdir -p app_env/selinux
# cat app_env/selinux/init.sls
/etc/sysconfig/selinux:
file.managed:
    - source: salt://template/app_env/selinux/selinux
    - user: root
    - group: root
    - mode: 600
    - template: jinja




定义模板文件

1
2
3
4
5
6
7
8
9
10
11
12
mkdir -p templat/app_env/selinux
# cat template/app_env/selinux/selinux
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#   enforcing - SELinux security policy is enforced.
#   permissive - SELinux prints warnings instead of enforcing.
#   disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
#   targeted - Targeted processes are protected,
#   mls - Multi Level Security protection.
SELINUXTYPE=targeted




测试

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# salt node1 state.sls app_env.selinux.init test=True
node1:
    ----------
    file_|-/etc/sysconfig/selinux_|-/etc/sysconfig/selinux_|-managed:
      ----------
      __run_num__:
            0
      changes:
            ----------
            mode:
                0600
      comment:
            The file /etc/sysconfig/selinux is set to be changed
      duration:
            34.653
      name:
            /etc/sysconfig/selinux
      result:
            None
      start_time:
            12:17:07.454892




这里由于我两个主机的selinux文件是一样的,所以没有看出什么改变,我这里只是一个范例,欢迎来吐槽
如果测试没有问题就可以去掉test=True这个选项,执行就可以

页: [1]
查看完整版本: salt配置管理