使用saltstack进行环境的初始化,首先要配置saltmaster的运行环境,base环境是必须的,base环境下的top文件是必须的。其他的可以自定义,我的配置:
file_roots:
base:
- /srv/salt/base
prod:
- /srv/salt/prod
配置了一个base环境和一个prod环境。然后再在base环境下去建立top.sls文件。
接下来就可以配置minion端的基础环境了,此处会用到saltstack的file,pkg,cmd模块,不清楚可以先查看一下saltstack的官网:https://docs.saltstack.com/en/latest/contents.html
我们这里配置:
日志记录:
##cat audit.sls
bash-log:
file.append:
- name: /etc/bashrc
- text:
- export PROMPT_COMMAND='{ msg=$(history 1 | { read x y; echo $y; });logger "[euid=$(whoami)]":$(who am i):[`pwd`]"$msg"; }'
历史命令记录:
##cat history.sls
history-log:
file.append:
- name: /etc/profile
- text:
- export HISTTIMEFORMAT="%F %T `whoami`"
文件数打开:
##cat limit-profile.sls
limit-profile:
file.append:
- name: /etc/profile
- text:
- ulimit -SHn 65535
cmd.run:
- name: source /etc/profile
- require:
- file: limit-profile
- watch:
- file: limit-profile
基础软件包:
pkg-install:
pkg.installed:
- names:
- gcc
- gcc-c++
- glibc
- autoconf
- make
- openssl
- openssl-devel
- wget
- openssh-clients
- cmake
- ncurses
- ncurses-devel
- rsync
基本参数配置:
###cat sysctl.sls
net.ipv4.ip_local_port_range:
sysctl.present:
- value: 10000 65535
fs.file-max:
sysctl.present:
- value: 2000000
net.ipv4.ip_forward:
sysctl.present:
- value: 1
vm.swappiness:
sysctl.present:
- value: 0
写好这些sls之后,再top文件加载即可。我是采用一个sls文件全部引入之后,在top加载,这样top看起来不会很乱。
自己记下的随笔,如有错误,请指正。