☰
用 20 多个场景练 Ansible:单机配置管理到多机滚动部署
2026/11/6 3:33:18 网站建设 项目流程

用 20 多个场景练 Ansible:单机配置管理到多机滚动部署

【免费下载链接】ansible-for-devopsAnsible for DevOps examples.项目地址: https://gitcode.com/gh_mirrors/an/ansible-for-devops

新服务器上线要装一堆依赖、改完配置还得逐台登录核对——ansible-for-devops 是《Ansible for DevOps》一书的配套仓库,收录 20 多个可直接运行的 Ansible 剧本,覆盖配置管理、应用部署与多节点编排。

先搞清楚它管什么

拿一台新机器来装环境,要装依赖、开端口、建数据库、调 Web 服务,第一次全靠手工,第二台就得重新来一遍。剧本(playbook)的意义在于把这套动作写成可重复执行的文件,跑第二次不需要凭记忆。

机器到多台之后麻烦升级:Web 集群后面挂着三台机器,改一个配置要登三台。这个仓库的示例从单机逐步走到多机,最后落到零停机发布和滚动更新这两个真实运维问题上。

所有示例都用 Vagrant 加 VirtualBox 在本地跑,不需要真实机器,可以放心搞坏。注意书中示例以教学为目的,没有完全遵循 Ansible 最佳实践,适合先学语法。

几个模块分别干嘛

装完系统先跑通第一个剧本

first-ansible-playbook/ 用两个任务装 chronyd 并保证它运行,是最短的一个完整剧本,适合先验证本地环境是否可用。接下来可以跑 drupal/,单文件剧本装完整套 LAMP 加 CMS,用来对比长短剧本的写法差异。

多台机器怎么一起编排

orchestration/ 用 Vagrant 起多台虚机并给出 inventory,用来试 ad-hoc 命令,是理解分组概念的第一步。想看完整的多机架构,参考 lamp-infrastructure/ 的高可用 LAMP 部署,或 elk/ 的两机日志栈。适合刚开始接触多机环境的人。

发布流程怎么做零停机和滚动更新

deployments/、deployments-balancer/、deployments-rolling/ 三组示例分别对应常规发布、HAProxy 负载均衡后零停机发布、多机滚动更新,都把 provision 和 deploy 拆成两个剧本。适合要设计应用发布流程的人。

角色和集合怎么搭

nodejs-role/ 把 nodejs/ 的例子重构为角色,collection/ 展示 collection 的目录结构,galaxy-role-servers/ 则直接引入社区角色拉起服务器。适合开始写自己可复用角色的人。

跑起来要什么

需要 VirtualBox、Vagrant 和 Ansible 2.9+。先克隆仓库:git clone https://gitcode.com/gh_mirrors/an/ansible-for-devops。每个示例目录都有自己的 Vagrantfile 和剧本,进入目录用vagrant up起虚机,再按该目录 README 跑对应剧本即可。

上手时容易卡住的地方

  • 注意:部分示例使用 Vagrant 私有网络 192.168.56.0/24(如 elk/),若与本地网段冲突,vagrant up会失败,先确认网段是否被占用。
  • 注意:多数剧本引用了 Galaxy 上的 geerlingguy 角色,目录里通常有 requirements.yml,要先用ansible-galaxy装好角色再跑,否则会报找不到 role。
  • 建议:仓库 README 明确示例以教学为主、未完全遵循最佳实践,学完语法后若用于生产,需按较新的 Ansible 文档复核变量与标签用法。

适合谁,从哪下手

想练剧本语法:从 first-ansible-playbook/ 跑起,再看 includes/ 里任务拆分的方式,最后对照 nodejs-role/ 看单文件如何演进成角色。

想搭真实发布流程:从 deployments-rolling/ 入手,弄清 provision.yml 与 deploy.yml 的分工,再把 vars.yml 里的应用变量换成自己的服务地址试跑。

全部示例按书籍章节分目录存放,clone 下来对照各目录 README 逐个跑即可。

【免费下载链接】ansible-for-devopsAnsible for DevOps examples.项目地址: https://gitcode.com/gh_mirrors/an/ansible-for-devops

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询