linRichielinRichie
前端
Python
Linux
ChatGPT
  • B 站
  • 500px
前端
Python
Linux
ChatGPT
  • B 站
  • 500px
  • Ansible

    • Ansible: 基本操作
    • Ansible: 安装
    • Ansible: 简介
    • YAML: 文件格式
    • Playbook

      • Playbook: 介绍
      • Playbook: 操作
    • 模块

      • Yum模块常用参数
    • 实战

      • Ansible 实战
  • Anaconda

    • Anaconda命令
  • Iptables

    • Iptable: 防火墙
    • iptables 用法
  • Systemd

    • 系统服务配置
    • 系统服务启动文件
    • 性能优化

      • Linux 系统监控
      • Linux 系统性能优化
      • Linux 系统故障诊断
      • Linux 系统日志管理
  • Network

    • 用一张图解释 8 种流行的网络协议
    • 反子网掩码
    • 交换机端口模式
    • eNSP 软件
    • 华为交换机配置命令
    • eNSP静态路由实验
  • Commands

    • 命令别名:alias
    • 多类型资源统计工具: dstat
    • history配置
    • unzip命令
    • Linux用户到期登录时间和随机密码
    • 常用 Command
    • ssh

      • ssh-keygen
      • linux ssh命令
  • CI/CD

    • Jenkins CI/CD 管道
  • Kubernetes

    • Docker系列学习

      • 01. 什么是Docker
      • 02. Docker安装
      • 03. 使用Docker镜像
      • 04. 利用commit理解镜像构成
      • 05. 操作Docker容器
      • 06. 使用Dockerfile定制镜像
      • 07. Dockerfile指令详解
      • 08. Dockerfile多阶段创建
      • 09. 访问仓库
      • 10. 修改docker的启动项
      • 11. Nexus3.x的私有仓库
      • 12. docker-hub加速器
      • 13. 数据管理
      • 14. 使用网络
  • Shell编程

    • Shell 编程基础
    • Shell 脚本执行消耗的时间
    • Shell 自动生成简介

Ansible 实战

  • 项目目标
  • 环境规划
    • 服务器角色
  • 部署步骤
    • 1. 准备工作
    • 2. 编写 Playbook
  • 最佳实践

项目目标

部署一个完整的 Web 服务架构:

  1. 负载均衡层

    • Keepalived + Nginx 主备模式
  2. Web 应用层

    • Apache + PHP + PHP-MySQL
  3. 数据库层

    • MariaDB Server

环境规划

服务器角色

主机IP角色
A192.168.50.66Ansible 控制节点 + Keepalived Master
B192.168.50.110Keepalived Backup
C192.168.50.111Web 节点 1
D192.168.50.112Web 节点 2
E192.168.50.113Database 节点

部署步骤

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
EOF

2. 编写 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

最佳实践

  1. 部署建议

    • 先测试后部署
    • 分步骤验证
    • 做好备份
  2. 维护建议

    • 监控服务状态
    • 定期更新
    • 记录变更

注意:

  • 确保网络连通性
  • 检查防火墙配置
  • 验证服务依赖关系

参考资料:

  • Ansible 最佳实践
  • Keepalived 配置指南
最近更新时间: