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