saltstack配置管理

配置管理是基于远程执行的
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的管理配置主要学习:

  1. 系统初始化

建议所有系统初始化的工作都放在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

  1. 功能模块
  1. 业务模块

你可能感兴趣的:(saltstack配置管理)