码迷,mamicode.com
首页 > 其他好文 > 详细

SaltStack之项目实践

时间:2017-11-17 16:17:12      阅读:178      评论:0      收藏:0      [点我收藏+]

标签:执行时间   init   top   dns配置   系统初始   salt   一个   mes   div   

在实际生产项目中,我们可以来这样划分:

业务模块:根据具体的业务引用需要用到的功能模块(比如搭建LNMP环境)

功能模块:按照功能创建目录,里面对应的功能状态(比如zabbix,mysql,nginx,redis等等)

系统初始化模块:把它放在base环境下,这是我们定义每台机器都要执行的操作

 

我们来演示如何配置系统初始化模块,这里只是举例如何使用,具体的系统初始化工作可以根据自己的实际情况配置

base环境

[root@c1 ~]# cd /srv/salt/base/;ls
init  #这个是目录,用来存放系统初始化的状态
top.sls


1.dns配置
[root@c1 base]# cat init/dns.sls 
/etc/resolv.conf:
  file.managed:
    - source: salt://init/files/resolv.conf
    - user: root
    - group: root
    - mode: 644

[root@c1 base]# mkdir init/files

[root@c1 base]# cat init/files/resolv.conf     
nameserver 114.114.114.114


2、history记录命令执行时间
[root@c1 base]# cat init/history.sls 
/etc/profile:
  file.append:   <---------文件追加
    - text:      <---------下面是追加的内容
      - export HISTTIMEFORMAT="%F %T `whoami`"


3、内核调优
[root@c1 base]# cat init/sysctl.sls 
vm.swappiness:
  sysctl.present:
    - value: 0

net.ipv4.ip_local_port_range:
  sysctl.present:
    - value: 10000 65000

fs.file-max:
  sysctl.present:
    - value: 100000

我们可以再写个sls把以上的都包含进去,取个自己理解的名字,这样topfile就避免填写所有的状态

[root@c1 base]# cat init/env_init.sls
include:
  - init.dns
  - init.history
  - init.sysctl


topfile只要写env_init.sls这一个就可以了
[root@c1 base]# cat /srv/salt/base/top.sls
base:
  ‘*‘:
    - init.env_init

写完,我们需要测试。test=True,这个参数就是用来模拟测试,不会实际应用

salt ‘*‘ state.highstate test=True

测试OK,我们就可以真正的运行

salt ‘*‘ state.highstate 

  

 

SaltStack之项目实践

标签:执行时间   init   top   dns配置   系统初始   salt   一个   mes   div   

原文地址:http://www.cnblogs.com/sellsa/p/7851448.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!