设为首页 收藏本站
查看: 1178|回复: 0

[经验分享] Saltstack生产案例之系统初始化

[复制链接]

尚未签到

发表于 2018-1-4 06:40:33 | 显示全部楼层 |阅读模式
  把之前的配置打个包
  zip -r salt.zip *
  拷贝到/root/tools目录
  博客园文件里面也保留一份,删除之前所有的salt配置文件重新开始
  想
  1,系统初始化
  2,功能模块:设置单独的目录haproxy nginx php mysql memcached
  3,业务模块:根据业务类型,例如web 服务 论坛 bbs
  include
  做
  1,salt环境配置
  开发,测试(功能测试环境,性能测试环境) 预生产 生成
  base 基础环境
  init目录,环境初始化 1.dns配置  2history记录时间 3记录命令操作 4内核参数优化 5安装yum仓库 6安装Zabbix-agent
  2,prod生成环境
  vim /etc/salt/master


  mkdir -p /srv/salt/base
  mkdir -p /srv/salt/prod
  mkdir -p /srv/pillar/base
  mkdir -p /srv/pillar/prod
  重启
  systemctl restart salt-master
  cd /srv/salt/base/
  mkdir init
  cd init
  vim dns.sls
  

/etc/resolv.conf:  file.managed:
  - source: salt://init/files/resolv.conf
  - user: root
  - gourp: root
  - mode: 644
  

  

  新建文件命令,拷贝配置文件
  mkdir files
  cp /etc/resolv.conf  files/
  vim history.sls
  

/etc/profile:  file.append:
  - text:
  - export HISTTIMEFORMAT="%F %T `whoami` "
  

  

  PS:在/etc/profile 末尾追加一行显示执行时间以及执行者
  vim 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"; }'
  

  

  PS:记录命令的操作即命令审计
  vim sysctl.sls
  

net.ipv4.ip_local_port_range:  sysctl.present:
  - value: 10000 65000
  
fs.file-max:
  sysctl.present:
  - value: 2000000
  
net.ipv4.ip_forward:
  sysctl.present:
  - value: 1
  
vm.swappiness:
  sysctl.present:
  - value: 0
  

  

  PS:内核参数优化
  net.ipv4.ip_local_port_range: 本地可用端口范围 作为客户端发起连接的时候
  net.ipv4.ip_forward: 开启转发
  sysctl.present:交换分区使用权重为0是尽量不使用
  vim epel.sls
  

yum_repo_release:  pkg.installed:
  - sources:
  - epel-release: http://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm
  

  

  

  vim zabbix-agent.sls
  

zabbix-agent:  pkg.installed:
  - name: zabbix-agent
  file.managed:
  - name: /etc/zabbix/zabbix_agentd.conf
  - source: salt://init/files/zabbix_agentd.conf
  - template: jinja
  - defaults:
  Server: {{ pillar['zabbix-agent']['Zabbix_Server'] }}
  - require:
  - pkg: zabbix-agent
  service.running:
  - enable: True
  - watch:
  - pkg: zabbix-agent
  - file: zabbix-agent
  
zabbix_agentd.conf.d:
  file.directory:
  - name: /etc/zabbix/zabbix_agentd.conf.d
  - watch_in:
  - service: zabbix-agent
  - require:
  - pkg: zabbix-agent
  - file: zabbix-agent
  

  

  拷贝配置文件
  cp /etc/zabbix/zabbix_agentd.conf files/
  vim files/zabbix_agentd.conf

  PS:这里{}内变量名称Server要和/srv/salt/base/init/zabbix-agent.sls  一样为Server

  直接执行出错

  因为没有配置pillar
  cd /srv/pillar/base/
  mkdir zabbix
  cd zabbix/
  vim agent.sls
  

zabbix-agent:  Zabbix_Server: 10.8.45.27
  

  

  这样设置还不行,需要master指定给
  vim /srv/pillar/base/top.sls
  

base:  '*':
  - zabbix.agent
  

  

  salt '*' state.sls init.zabbix-agent
  执行状态成功了

  到此初始化写完了
  cd /srv/salt/base/init
  vim init.sls
  

include:  - init.dns
  - init.history
  - init.audit
  - init.sysctl
  - init.epel
  - init.zabbix-agent
  

  

  执行salt '10-8-86-172' state.sls init.init
  成功了



  这个是执行单个配置文件 高级状态是定义top.sls
  cd /srv/salt/base
  vim top.sls
  

base:  '*':
  - init.init
  

  

  先tree一下

  使用salt '*' state.highstate  执行top.sls 因为这里定的是 * init.init 其实效果和上面的是一样的
  PS:使用backup: minion可以在配置文件有更新的时候把原始配置文件备份


  一旦配置文件有更新会把原始配置文件备份一遍

  参考文档
  https://github.com/unixhot/saltbook-code/blob/master/salt/
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-431382-1-1.html 上篇帖子: 2、SaltStack之数据系统 下篇帖子: 了解saltstack的通信协议zeromq(二) 转
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表