Ansible 自动化运维实践:用 ansible-for-devops 从入门到部署 📅 2026/8/24 21:54:07 Ansible 自动化运维实践用 ansible-for-devops 从入门到部署【免费下载链接】ansible-for-devopsAnsible for DevOps examples.项目地址: https://gitcode.com/gh_mirrors/an/ansible-for-devops这篇文章带你上手 ansible-for-devops。它是《Ansible for DevOps》一书的官方配套示例库收录了单机服务器配置、多机编排、应用发布、Docker 与 Kubernetes 等可直接运行的 Ansible 剧本。如果你会写 YAML 但缺少练手环境和真实场景本文会告诉你如何在本机跑通第一个剧本以及每种能力对应哪个示例目录。这套示例库解决什么问题ansible-for-devops 不是一个即插即用的运维框架而是一本按章节组织的活教材每个顶层目录对应书中一个主题也对应一类具体的 Ansible 能力。仓库官方说明里特意提到部分剧本并不完全遵循最佳实践因为它们的首要目标是把某一个特性讲清楚。适合哪些人使用刚接触 Ansible、想先在本机跑通再上生产的初学者学过角色、剧本写法但手头没有多机实验环境的人仓库内自带 Vagrantfile一条命令起虚拟机需要快速演示某个场景零停机发布、滚动更新、证书自动化的工程师。如何完成第一次本地运行最小上手路径是 first-ansible-playbook/ 目录一台 Rocky Linux 8 虚拟机剧本只有两个任务——安装 chrony 并启动 chronyd 服务。准备三样工具本地运行需要 VirtualBox、Vagrant、Ansible 三个组件。前两者负责造出虚拟机Ansible 负责在虚拟机里执行配置任务。安装方式可查阅各自官方文档本文不展开。克隆仓库并启动git clone https://gitcode.com/gh_mirrors/an/ansible-for-devops cd ansible-for-devops/first-ansible-playbook vagrant up该目录的Vagrantfile里已经配置了 Ansible provisionervagrant up启动虚拟机后会自动执行playbook.yml无需手工登录。跑通后观察什么用vagrant ssh进入虚拟机确认 chronyd 服务在运行再执行vagrant provision可重复执行剧本观察任务是否变成 up to date 的幂等状态。这个来回就是理解 Ansible声明式 幂等两个核心概念最快的方式。从目录结构理解模块分工目录名即能力名不需要逐个打开文件也能建立整体认知从单机到多机orchestration/用 Vagrant 起 app1、app2、db 三台虚拟机练习ansible命令行式的即席命令和清单文件写法drupal/ 与 includes/同一个 LAMP Drupal 剧本的两种写法后者用任务文件拆分便于对比单文件堆任务和按模块组织的差异nodejs/ 与 nodejs-role/同样是 Node.js 应用部署后者把逻辑抽成独立角色是理解角色化开发的对照样本。从应用部署到集群管理deployments/Ruby on Rails 应用 Passenger Nginx 的完整发布流程deployments-balancer/、deployments-rolling/零停机发布与滚动发布的两个变体lamp-infrastructure/Varnish 双 Apache Memcached MySQL 主从的七机高可用架构kubernetes/用 Ansible 搭建三节点 K8s 集群elk/、gluster/日志栈与分布式存储的两机示例。其他能力点security/安全加固任务、https-letsencrypt/ 等三个证书目录自签名 / Lets Encrypt / Nginx 代理、docker/ 三个容器示例、molecule/剧本测试、dynamic-inventory/动态清单脚本和 galaxy-role-servers/直接复用社区角色快速建机。学习不同能力时先看哪个示例部署系列三个目录的分工deployments/ 把流程拆成两个剧本provision.yml负责建环境装 Git、Ruby、Passengerdeploy.yml负责发布指定版本。想发布新版本只需改 playbooks/vars.yml 里的app_version再跑vagrant provision。deployments-rolling/ 演示 Node.js 应用跨多台服务器逐台更新官方给出的 2.0.1 版本是故意写坏测试的正好用来观察失败版本在滚动流程中的表现。多机架构lamp-infrastructure 的典型用法先装依赖角色再建机并配置cd lamp-infrastructure ansible-galaxy install -r requirements.yml vagrant up ansible-playbook configure.yml -i inventories/vagrant/这套剧本同时支持在 DigitalOcean、AWS 等云商上运行本地与云端的同一套代码切换方式见该目录的 README。集群示例kubernetes 的两步cd kubernetes ansible-galaxy install -r requirements.yml -p ./roles vagrant up集群起来后可在 kubernetes/examples/ 里用ansible-playbook -i ../inventory k8s-module.yml部署一个 Nginx 服务做验证具体细节见该目录说明。常见问题与处理方式vagrant up 中途报错怎么办仓库内各示例的 README 给出了统一建议执行vagrant provision从断点继续。确认不再需要该环境后用vagrant halt关机或vagrant destroy彻底删除以释放磁盘。角色依赖从哪里来大多数含requirements.yml的目录需要先在该目录内执行ansible-galaxy install -r requirements.yml把geerlingguy.*等社区角色下载到本地再运行剧本。操作系统有没有限制部分示例的 README 明确说明其指南假设运行在 Mac 或 Linux 宿主机上Windows 未被明确支持。如果你使用 Windows 工作站建议在 WSL 或 Linux 环境中执行这些实验。下一步建议先完整跑通first-ansible-playbook再挑 orchestration/ 练多机命令之后按部署 → 架构 → 集群的顺序深入每个目录都当作一次可复现的实验来对待。【免费下载链接】ansible-for-devopsAnsible for DevOps examples.项目地址: https://gitcode.com/gh_mirrors/an/ansible-for-devops创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考