四、DevOps 与自动化

用工程化思维做运维:Ansible 自动化、CI/CD 生产流水线(审批门禁/多环境/回滚)、Terraform 基础设施即代码、云成本优化(FinOps/Spot)、集中式日志、Shell/Python 脚本实战、Shell 脚本测试(ShellSpec/Bats)、服务器初始化标准、压力测试与故障案例复盘。

共 23 个章节

4.1 Ansible 自动化 Ansible 基于 SSH 的无代理自动化入门:inventory 主机清单、ad-hoc 单次命令、playbook 剧本编写、role 角色组织、Jinja2 模板引擎、幂等性保证以及 vault 加密。 4.2 Ansible 生产实战 Ansible 生产级工程实践:Role 组织结构、执行策略(serial/strategy)、Tags 体系、Jinja2 过滤器、AWX 图形化管理、100+ 节点调优。 4.3 Puppet/SaltStack 对比 Puppet Master-Agent 架构与 Manifest、SaltStack State 文件、三方案对比(架构/语言/性能/社区)、选型与迁移。 4.4 Shell 自动化实战 编写健壮的自动化运维脚本:set -euo pipefail 严格模式、flock 文件锁、重试与超时控制、用 cron 或 systemd timer 调度,以及脚本 vs Python/Ansible 的选型决策。 4.5 网络故障排查 逐层排查网络故障:物理层网卡链路、IP 层路由、DNS 解析、TCP 握手、TLS 证书、应用层 HTTP。用 ip、ping、mtr、dig、ss、tcpdump、curl -v 实战排查。 4.6 Linux 性能调优 用 USE 方法(Utilization、Saturation、Errors)剖析 CPU、内存、磁盘 I/O 和网络性能,调优 sysctl 内核参数,用 sysbench/fio 做规范压测。 4.7 压力测试实战 覆盖四种场景的压测工具:stress-ng(CPU/内存)、fio(磁盘 I/O)、sysbench(数据库)、wrk/hey(HTTP),以及压测方法论与结果解读。 4.8 集中式日志管理 用 ELK/EFK 或轻量级 Loki+Promtail 方案集中收集日志:日志结构化 JSON 输出、控制存储成本与保留周期、敏感信息脱敏,并与监控指标做关联分析。 4.9 CI/CD 持续部署 用 GitHub Actions 或 GitLab CI 搭建 CI/CD 流水线:代码 lint 检查、自动化测试、镜像构建、自动部署到多环境、密钥管理、自动化回滚与灰度发布策略。 4.10 CI/CD 生产实践 生产级 CI/CD 流水线:多环境分支策略、审批门禁、镜像版本管理、密钥轮换、回滚策略,以及完整的 GitHub Actions 模板。 4.11 Jenkins + GitLab CI Jenkins Pipeline as Code、GitLab CI Runner/Artifact、CI 平台对比(Jenkins/GitLab/GitHub Actions)、构建产物管理、大规模CI优化。 4.12 Python 运维脚本 Bash 不够用时换 Python:argparse、subprocess、requests、paramiko/Fabric、psutil、logging,以及 virtualenv / Poetry 打包。 4.13 服务器初始化规范 面向每台新服务器的 checklist runbook:主机名与时区设置、系统更新、swap 配置、ufw 防火墙加固、SSH 密钥认证、管理账号创建、fail2ban 防护、监控与备份部署。 4.14 运维故障案例集 复盘真实运维故障案例:日志切割磁盘满、OOM Killer 内存溢出、DNS 缓存中毒、HTTPS 证书过期、cron 脚本失控——根因分析、修复方案与教训总结。 4.15 Terraform 入门 用 Terraform 管理云资源:HCL 语法、Provider/Resource/Data Source、init/plan/apply 工作流、State 管理、模块化设计、Terraform vs Ansible 对比。 4.16 Pulumi/CDKTF/Terragrunt IaC 进阶方案:Pulumi(Python/Go写IaC)、CDKTF(AWS CDK+Terraform)、Terragrunt(多环境State管理)、Terraform Cloud/Enterprise。 4.17 云成本优化 云成本优化 FinOps 框架:成本可见性(标签/账单)、资源右配、Spot Instance 使用策略、预留实例与节省计划、自动化成本治理。 4.18 Git 进阶 让 Git 为团队高效协作:Git Flow 与 Trunk-based 工作流对比、交互式 rebase 整理提交历史、Git hooks 自动化检查、bisect 二分排错、reflog 数据恢复。 4.19 Shell 实战案例集 开箱即用的十个生产级 Bash 脚本:日志切割轮转、批量文件备份、系统健康检查、自动部署发布、证书续期、数据库备份、端口扫描与进程监控。 4.20 Shell 自动化测试 Shell 脚本测试框架实战:ShellSpec(BDD 风格)与 Bats(TAP)对比、Mock/Stub、CI 集成、Ansible Role 测试。 4.21 项目实战:企业级 Web 应用 端到端项目实战:整合第三编知识,搭建 Nginx+PHP-FPM+MySQL+Redis 完整环境,配置 SSL、监控、日志、备份。 4.22 项目实战:CI/CD 流水线 端到端项目实战:整合第四编知识,用 GitHub Actions+Docker 实现从代码提交到自动部署的完整流水线。 4.23 项目实战:运维平台 端到端综合项目实战:整合全部知识,搭建服务器初始化、Web 环境、监控、日志、CI/CD、自动化、备份、故障演练的完整运维平台。