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]