Ansible 实战
2025-02-17
项目目标
部署一个完整的 Web 服务架构:
负载均衡层
- Keepalived + Nginx 主备模式
Web 应用层
- Apache + PHP + PHP-MySQL
数据库层
- MariaDB Server
环境规划
服务器角色
| 主机 | IP | 角色 |
|---|---|---|
| A | 192.168.50.66 | Ansible 控制节点 + Keepalived Master |
| B | 192.168.50.110 | Keepalived Backup |
| C | 192.168.50.111 | Web 节点 1 |
| D | 192.168.50.112 | Web 节点 2 |
| E | 192.168.50.113 | Database 节点 |
部署步骤
1. 准备工作
# 在控制节点安装 Ansible
yum install -y ansible
# 配置 Inventory
cat > /etc/ansible/hosts <<EOF
[lb]
192.168.50.66
192.168.50.110
[web]
192.168.50.111
192.168.50.112
[db]
192.168.50.113
EOF2. 编写 Playbook
---
# 部署负载均衡
- hosts: lb
tasks:
- name: Install keepalived and nginx
yum:
name:
- keepalived
- nginx
state: present
# 部署 Web 服务
- hosts: web
tasks:
- name: Install web components
yum:
name:
- httpd
- php
- php-mysql
state: present
# 部署数据库
- hosts: db
tasks:
- name: Install MariaDB
yum:
name: mariadb-server
state: present最佳实践
部署建议
- 先测试后部署
- 分步骤验证
- 做好备份
维护建议
- 监控服务状态
- 定期更新
- 记录变更
注意:
- 确保网络连通性
- 检查防火墙配置
- 验证服务依赖关系
参考资料: