配置管理是基于远程执行的
saltstack是如何进行配置管理的,是通过状态管理来进行的。
vim master
file_roots:
base:
- /srv/salt/base
test:
- /srv/salt/test
prod:
- /srv/salt/prod
分别是基础环境,测试环境和生产环境,但是top.sls只能放在base环境,其他任何环境下都不行
cd /srv/salt/base
vim dns.sls
/etc/resolv.conf:
file.managed:
- source: salt://files/resolv.conf
- user: root
- group: root
- mode: 644
直接执行:
salt '*' state.sls dns
还有一种方法是加到高级状态里面,这样每次执行高级状态都可以执行。写进top_file里面:
vim top.sls
base:
'*':
- dns
然后执行高级状态
salt '*' state.highstate
学习saltstack的管理配置主要学习:
- 系统初始化
建议所有系统初始化的工作都放在base环境下
mkdir init
将初始化的文件放在一个单独文件里面。
cd /srv/salt/base/init
vim dns.sls
/etc/resolv.conf:
file.managed:
- source: salt://init/files/resolv.conf
- user: root
- group: root
- mode: 644
mkdir files
cp /etc/resov.conf files/
让history记录时间
vim history.sls
/etc/profile:
file.append:
- text:
- export HISTTIMEFORMAT="%F %T `whoami` "
将所有命令都记录下来
vim audit.sls
/etc/bashrc:
file.append:
- text:
- export PROMPT_COMMAND='{ msg=$(history 1 | {read x y; echo $y;});logger"[euid=$(whoami)]":$(who am i):[`pwd`]"$msg";}'
给系统改内核参数
vim sysctl.sls
vm.swappiness:
sysctl.present:
- value: 0
#给系统改内核参数
net.ipv4.ip_local_port_range:
susctl.present:
- value: 10000 65000
#修改ip监听端口
fs.file-max:
sysctl.present:
- value: 100000
#修改最大文件描述数量
- 这个时候init文件夹里面有四个初始化文件,现在有个问题是怎么引用它们。如果放在top里面就需要把每个都写进去,这个时候可以再写个sls把这些东西都写进去。
vim env_init.sls
include:
- init.dns
- init.history
- init.sysctl
- init.audit.sls
#include将下面的文件包含进来
然后将env写进top里面就行了。
cd ../top.sls
base:
'*':
- init.env_ init
#init目录下的env_init
可以在执行之前测试对不对:
salt '*' state.highstate test=True
- 功能模块
- 业务模块
网友评论