场景:公司有10台服务器需要安装lamp测试环境,使用saltstack编写state文件进行批量部署,可以提高工作效率,减少人为出错的可能性,保证环境的一致性。

saltstack之配置管理lamp实战案例:

1.修改master配置文件,指定dev环境。

[root@node1 dev]# egrep -A  ^file /etc/salt/master
file_roots:
base:
- /srv/salt/base
dev:
- /srv/salt/dev

2.编写state文件,最终的目录树如下所示:

[root@node1 dev]# tree  /srv/salt/dev/
/srv/salt/dev/
├── files
│   ├── httpd.conf
│   └── my.cnf
├── lamp.sls
└── top.sls directory, files

3.state文件的详细内容如下:

[root@node1 dev]# cat top.sls    --此处也可以在/srv/salt/base/top.sls统一入口文件中定义。
dev:
'node2.xkops.com':
- lamp [root@node1 dev]# cat lamp.sls
lamp-pkg-install:
pkg.installed:
- names:
- mysql
- php
- php-mysql
- php-pdo
- php-cli
- php-common
httpd-service:
pkg.installed:
- names:
- httpd
file.managed:
- name: /etc/httpd/conf/httpd.conf
- source: salt://files/httpd.conf
- user: root
- group: root
- mode:
- require:
- pkg: httpd-service
service.running:
- name: httpd
- enable: true
- reload: true
- watch:
- file: httpd-service
mysql-service:
pkg.installed:
- name: mysql-server
file.managed:
- name: /etc/my.cnf
- source: salt://files/my.cnf
- user: root
- group: root
- mode:
- require:
- pkg: mysql-service
service.running:
- name: mysqld
- enable: true
- watch:
- file: mysql-service

4.在node1上master端执行配置管理state文件。(建议先测试,再正式执行)
[root@node1 dev]# salt '*' state.highstate env=dev test
[root@node1 dev]# salt '*' state.highstate env=dev

最新文章

  1. 体验报告:微信小程序在安卓机和苹果机上的区别
  2. ASP.MVC时间类型json数据处理
  3. bat脚本参数 if goto choice for使用的学习笔记。
  4. AutoVue ISDK学习总结(一)
  5. Python类库下载
  6. 关于ognl.OgnlException: target is null for setProperty(null的解决方案
  7. VC生成的DLL给QT的EXE调用时lib路径问题小结
  8. linux添加到普通用户sudo才干
  9. IP子网掩码格式转换
  10. IOS 子视图获取父视图的控制器
  11. SQL server存储过程:数据的插入和更新
  12. 把旧系统迁移到.Net Core 2.0 日记 (19) --UI转用adminLTE
  13. AIX安装JDK1.7教程
  14. Eclipse错误:The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path
  15. python测试开发django-25.表单提交之post注册案例
  16. output-operations-on-dstreams
  17. 《网络安全编程基础》之Socket编程
  18. yum指令常用参数说明
  19. 【BZOJ5415】【NOI2018】归程(克鲁斯卡尔重构树)
  20. PHP——上传头像(1)

热门文章

  1. eclipse远程调试Tomcat方法
  2. IP地址在数据库里面的存储方式
  3. VS - 实用技巧
  4. [转]Entity Framework走马观花之把握全局
  5. UVA 796 Critical Links(Tarjan求桥)
  6. git命令常见问题总结
  7. Linux 计划任务 Crontab 笔记与总结(5)crontab 常见错误与案例
  8. php防攻击方法
  9. html5之canvas初解
  10. 透明、圆角、阴影效果、背景色渐变、<a></a>去外层虚线、!!!表格标签<table>