cdchenli 发表于 2018-7-31 09:15:02

利用Saltstack的States初始化系统

  今天和大家介绍一下如何运用State初始化系统吧
  States是satlstack中的配置语言
  安装软件包、管理配置文件都需要编写一些states sls文件
  states sls使用YAML语法
  
  查看所有states列表
  #    salt 'onde1' sys.list_state_modules    (node1是被管理节点的ID)
  查看states模块功能
  #    salt 'node1' sys.list_state_func=ons    file
  下面给大家具体实例操作一下吧
  1.配置minion的dns服务器地址为192.168.4.100
  2.配置历史命令显示时间和用户
  3.配置系统能够实现ip转发
  4.配置系统创建用户bob,初始密码为123456,同时要求用户初次登陆必须修改密码
  系统初始化概述
  服务器上架并安装好操作系统后,都会有一些基础的配置操作
  建议将所有服务器都会涉及的基础配置或者软件部署都归类放在base环境下
  可以在base环境下创建一个init目录,将系统初始化配置的sls文件均放到init目录下,称其为“初始化模块”
  实施步骤:
  修改master上的/etc/salt/master配置文件:
  593 # Example:
  594 file_roots:
  595   base:
  596   - /srv/salt/base
  1、配置DNS
  强烈建议在内网建立自己的内网DNS服务器
  # vim dns.sls
  resolv_file:
  file.managed:
  - name: /etc/resolv.conf
  - source: salt://init/files/resolv.conf
  - user: root
  - group: root
  - mode: 644
  resolv.conf文件路径是/srv/salt/base/resolv.conf
  2、配置历史命令显示时间:
  # vim history.sls
  profile_file:
  file.append:
  - name: /etc/profile
  - text:
  - export HISTTIMEFORMAT="%F %T:"
  3、配置系统能够实现ip转发(路由转发):
  # cat sysctl.sls
  net.ipv4.ip_forward:
  sysctl.present:
  - value: 1
  4、配置系统创建用户bob,初始密码为123456,同时要求用户初次登陆必须修改密码
  # vim add_usr.sls
  useradd bob:
  cmd.run:

  - unless:>  echo 123456 | passwd --stdin bob:
  cmd.run:

  - onlyif:>  chage -d0 bob:
  cmd.run:

  - onlyif:>  5、修改入口文件:
  # vim top.sls
  base:
  'E@node':
  - init.dns
  - init.history
  - init.sysctl
  - init.add_usr
  # salt -E 'node' state.highstate env=base test(测试是否能执行成功。)
  # salt -E 'node' state.highstate env=base (执行修改,saltenv=base指环境是base,不是dev)
  6、验证:ssh到节点上去,验证以下就行了,或者使用salt的命令去查看,此处省略!!!
页: [1]
查看完整版本: 利用Saltstack的States初始化系统