使用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看起来不会很乱。

自己记下的随笔,如有错误,请指正。