saltstack 学习笔记之实例:初始化

        前面写了些saltstack初始配置,网上类似的有很多。实际配置起来总是会出各种各样的问题。写文章记录下自己成功的配置,方便以后查询。

        saltstack的初始化配置是指所有节点都要使用的基础配置。当然,也可以做个性化的配置。这个要根据实际业务去配置了。本文记录的也只是本人使用过的。

        既然是初始化配置,那么当然是在base环境下。

        cd /srv/salt/base/init

        目前主流的服务器基本都是云主机,所以DNS配置并未使用。

1,命令操作审计与History记录时间

    [root@linux-2 init]# cat 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"; }'
[root@linux-2 init]# cat history.sls
/etc/profile:
  file.append:
    - text:
      - export HISTTIMEFORMAT="%F %T `whoami`"

2,内核参数优化

[root@linux-2 init]# cat sysctl.sls
net.ipv4.ip_forward: #对象
    sysctl.present:      #赋值
         - value: 1        
fs.file-max:
    sysctl.present:     
         - value: 200000
net.ipv4.conf.default.rp_filter:
    sysctl.present:
         - value: 0
net.ipv4.conf.all.rp_filter:
    sysctl.present:
         - value: 0

此处可以按业务需要写不同的参数

3,epel仓库

安装salt-minion需要epel仓库,且云主机的内核版本不同。本人在配置时并未配置。

基本都是yum -y install epel-release && yum -y install salt-minion

4,zabbix agent

监控是必不可少的。本人使用的是zabbix

[root@linux-2 init]# cat zabbix.sls
include:
    - init.cpe.pkg-init #这个是自己定义的pkg文件目录
create_zabbix_user: #创建zabbix用户和组
  user.present:
    - name: zabbix
    - shell: /sbin/nologin
  group.present:
    - name: zabbix

zabbix_tar:
  file.managed:
     - name: /tmp/zabbix-3.0.4.tar.gz  
     - source: salt://init/files/zabbix/zabbix-3.0.4.tar.gz
     - user: root
     - mode: 0644

/home/zabbix_download:
  file.directory:
      - user: root
      - group: root

zabbix_install:
  cmd.run:
      - name: cd /home/zabbix_download && tar fx /tmp/zabbix-3.0.4.tar.gz -C /home/zabbix_download && cd zabbix-3.0.4 && ./configure --prefix=/usr/local/zabbix --enable-agent  && make install && cp /home/zabbix_download/zabbix-3.0.4/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/ && cp /usr/local/zabbix/sbin/zabbix_agentd /usr/local/sbin/
  file.managed:
    - name: /usr/local/zabbix/etc/zabbix_agentd.conf
    - source: salt://init/files/zabbix/zabbix_agentd.conf
    - template: jinja
    - defaults:
      ID: {{pillar['ID']}}
    - user: root
    - group: root
    - mode: 0644
  service.running:
    - name: zabbix_agentd
    - enable: True
    - watch:
      - file: zabbix_install
      - pkg: pkg-init
PS:ID: {{pillar['ID']}}这个是jinja2模版,自定义

基本的初始化安装就这些了,其他的功能服务按照需求来配置,写完基础的sls文件之后,要写总的调用文件

vim env_init.sls

include:  #执行以下文件

  - init.history

  - init.audit

  - init.sysctl

  - init.zabbix

入口文件top.sls

cd /src/salt/base

vim top.sls

base:

  "*":

     -  init.env_init

PS:.是目录,比如/root/base.在top.sls文件中就是root.base


你可能感兴趣的:(saltstack)