作者: | Jeff Geerling |
语言: | 英文 |
出版年份: | 2015 |
下载链接: |
书籍均收集自互联网,仅供学习和研究使用,请莫用于商业用途。谢谢合作。 |
| 章节 | 核心主题 | 关键亮点 | |---|---|---| | Ch1 | 快速上手 | 安装、inventory、第一条 ad-hoc 命令 | | Ch2 | 本地实验环境 | Vagrant + VirtualBox 构建沙箱 | | Ch3 | ad-hoc 命令深度 | 批量运维、并行执行、文件/用户/计划任务管理 | | Ch4 | Playbook 基础 | YAML 语法、任务、变量、handler、模板 | | Ch5 | Playbook 进阶 | 条件判断、注册变量、委托、标签、暂停 | | Ch6 | 组织与复用 | Include、Role、Ansible Galaxy | | Ch7 | 动态 Inventory | 静态/动态主机清单、AWS/DO 自动发现 | | Ch8 | 场景化 Cookbook | ELK、GlusterFS、Mac 自动化、Docker、高可用架构 | | Ch9 | 部署策略 | 单节点、零停机多节点、蓝绿部署 | | Ch10 | 安全加固 | SSH 强化、防火墙、SELinux、Fail2Ban | | Ch11 | 自动化运维 | Ansible Tower、Jenkins、CI/CD、测试 |
幂等性 (Idempotence)
重复执行同一 Playbook,结果始终一致,避免“雪花服务器”。
无代理架构
仅依赖 SSH 与 Python,无需在被管节点安装额外守护进程。
Role 化思维
通过 Role 将“安装 Nginx、配置虚拟主机、启动服务”封装为可复用单元,并借助 Galaxy 社区共享。
基础设施即代码 (IaC)
用 Git 管理 Playbook 与 Inventory,实现可审计、可回滚、多人协作。
测试金字塔
语法检查 → Dry Run → 单元测试 → 集成测试 → 功能测试,保障变更安全。
| 场景 | 书中对应方案 |
|---|---|
| 快速批量更新所有服务器补丁 | ad-hoc 命令:ansible all -m yum -a "name=* state=latest"
|
| 一键部署 LAMP + Drupal | 使用 geerlingguy.apache、geerlingguy.mysql、geerlingguy.php 等 Galaxy Role |
| 动态扩容 AWS EC2 | 结合 ec2.py 动态 Inventory 与 Playbook 实现“创建-配置-加入负载均衡” |
| 零停机 Node.js 滚动发布 | serial: 1
+ 集成测试 + 失败自动回滚 |
| 集中日志平台 | 使用 ELK Cookbook:Elasticsearch + Logstash + Kibana |
| Mac 开发机一键初始化 | 本地 connection + homebrew Role + dotfiles Role |
《Ansible for DevOps》以“简单、可重复、可测试”为核心,通过大量实例帮助读者把传统“手工运维”升级为“代码驱动、自动化、可审计”的现代 DevOps 实践。