超棒的Ansible
一个协作curated的超棒Ansible资源、工具、角色、教程和其他相关内容列表。
Ansible是一个开源工具包,用Python编写,用于配置管理、应用部署、持续交付、IT基础设施自动化和一般自动化。
目录
官方资源
Ansible的官方资源。
- 最新Ansible文档 - Ansible最新用户指南和文档。
- Ansible Galaxy网站 - Ansible角色的官方仓库和社区网站。
- Ansible博客 - Ansible官方博客。
社区
与Ansible社区交流的地方
- 关于代码 - GitHub.com/ansible、GitHub.com/ansible-collections和GitHub.com/ansible-community。
- reddit.com/r/ansible - Ansible subreddit。
- Discord - Ansible Discord。
- ansible.com/community - Twitter、邮件列表、线下聚会等。
在libera.chat上还有许多Ansible IRC频道,这些频道与Matrix相连。 你可以在官方文档中找到完整列表和如何连接,这里列出几个:
IRC | Matrix | 主题 |
---|---|---|
#ansible | #users:ansible.com | 一般Ansible用户支持和讨论 |
#ansible-devel | #devel:ansible.com | 开发者讨论代码、bug和功能 |
#ansible-community | #community:ansible.com | 社区工作组,涵盖广泛主题,包括每周会议 |
#ansible-docs | #docs:ansible.com | 文档工作组,讨论文档并参与每周会议 |
#ansible-devtools | #devtools:ansible.com | 用于devtools,如ansible-lint、molecule和vscode插件 |
#ansible-awx | #awx:ansible.com | 用于AWX开源项目,Ansible Tower/Automation controller的上游 |
#ansible-network | #network:ansible.com | 用于Ansible网络自动化的一般支持和讨论 |
#ansible-fr | #francais:ansible.com | 用于法语Ansible讨论 |
教程
学习Ansible的教程和课程。
- 如何用Ansible管理远程服务器 - 本教程介绍如何使用Ansible管理远程服务器。
- leucos的Ansible教程 - 12步Ansible教程。
- 编程社区精选Ansible学习资源 - 推荐资源列表。
- TopTechSkills.com的Ansible教程系列 - 关于如何安装和使用Ansible的教程。
- Red Hat官方Ansible实验 - Ansible自动化平台培训课程。
- DigitalOcean上的Ansible教程 - DigitalOcean.com上的基础教程。
- BlueBanquise团队的Ansible教程 - 基础Ansible教程。
- Ansible新手教程:Playbook和示例 - 面向新手的Ansible介绍。
- 面向初学者和高级用户的Ansible教程 - 涵盖不同难度级别多个主题的研讨会。
- Ansible For DevOps - 这个仓库包含为支持Jeff Geerling的Ansible for DevOps一书中不同章节而开发的Ansible示例。
书籍
关于Ansible的书籍。
- Ansible for DevOps - 这本书帮助你开始使用Ansible来配置和管理从一台到数千台服务器。可以在这里阅读免费样章。
- Ansible for Kubernetes - 使用Ansible部署和维护实际的大规模高可用应用。
- 如何用Ansible管理远程服务器电子书 - 这本书基于"如何用Ansible管理远程服务器"教程系列。
视频
视频教程和Ansible培训。
- Ansible YouTube 频道 - Ansible 官方 YouTube 频道。
- Ansible 入门 - Cloud Academy 制作的 Ansible 入门视频。
- Jeff Geerling 的 Ansible 101 - Jeff Geerling 制作的优秀 Ansible 视频系列。
- TopTechSkills.com 在 YouTube 上的 Ansible 教程系列 - Ansible 视频教程。
- Ansible 基础 - 课程 - Red Hat 提供的免费 Ansible 基础视频课程。
- DevOps Journey 的 2020 年完整 Ansible 课程 - 包含实验的免费 Ansible 视频课程。
- Ansible 入门 - LearnLinuxTV 制作的 YouTube 教程系列。
工具
Ansible 相关工具。
- 自动化控制器 - 自动化控制器(原 Ansible Tower)由 Red Hat 开发,可帮助您扩展 IT 自动化、管理复杂部署并提高生产效率。将 Ansible 的能力扩展到整个团队。
- AWX - AWX 提供基于 Ansible 构建的 Web 界面、REST API 和任务引擎。它是自动化控制器的上游项目,自动化控制器是 AWX 的商业衍生版。
- Ansible Lint - 检查 Playbook 是否符合最佳实践和可能需要改进的行为。
- Ansible Later - 另一个最佳实践扫描工具。检查 Playbook 和角色是否符合最佳实践和可能需要改进的行为。
- Ansible Doctor - 基于 Jinja2 模板的简单注释式 Ansible 角色文档生成器。
- Ansible cmdb - 将 Ansible 的事实收集输出转换为静态 HTML 页面。
- ARA - ARA 记录 Ansible playbook 并通过报告 API、UI 和 CLI 使其更易理解和排除故障。
- Ansible 的 Mitogen - 使用 Mitogen 大幅提升 Ansible 速度。
- Molecule - Molecule 协助 Ansible 角色的开发和测试。
- Packer Ansible 配置器 - 此配置器可用于通过 Packer 和 Ansible 自动创建 VM 镜像。
- Excel Ansible 清单 - 将任何 Excel 电子表格转换为 Ansible 清单。
- terraform.py - 用于解析 Terraform 状态文件的 Ansible 动态清单脚本。
- ansible-navigator - Ansible 的文本用户界面(TUI)。
- squest - 自动化控制器作业模板的自助服务门户。
- ansible-bender - 使用 Ansible playbook 弯曲容器并将其转换为容器镜像的工具。
- ansible-runner - 一个工具和 Python 库,帮助直接或作为另一个系统的一部分与 Ansible 交互,无论是通过容器镜像接口、作为独立工具还是作为可导入的 Python 模块。
- ansible-builder - 使用依赖非默认依赖项的 Ansible 内容可能很棘手。软件包必须安装在每个节点上,与主机系统上安装的其他软件配合良好,并保持同步。
- kics - SAST 工具,用于扫描 Ansible 基础设施即代码 playbook 中的安全漏洞、合规性问题和配置错误。
- php-ansible 库 - Ansible 的面向对象包装器,使 Ansible 在 PHP 中可用。
- TD4A - 用于构建和测试 jinja2 模板的设计辅助工具,将 yaml 格式的数据与 jinja2 模板结合并渲染输出。
- Ansible Playbook 绘图器 - 命令行工具,用于创建表示 Ansible playbook 中的 plays、任务和角色的图表。
- ansible-doc-extractor - 以 HTML 形式提取 Ansible 模块文档的工具。
- Ansible Semaphore - Ansible Semaphore 是 Ansible 的现代 UI。
- Steampunk Spotter - 提供辅助自动化编写工具,分析并为您的 Ansible Playbook 提供建议。
- ansible-roster - Ansible Roster 清单插件,用于从面向主机的 yaml 文件生成清单。支持范围、正则表达式主机名、文件包含和变量合并。
- Monkeyble - 一个回调插件,允许使用 Python 测试和 CI/CD 方法对 playbook 执行端到端测试以检测回归。
- aar-doc - 自动化 Ansible 角色文档 - 从 Ansible 角色的元数据自动生成文档。
- antsichaut - 自动填充 antsibull-changelog 使用的 changelog.yaml。
博客文章和观点
关于 Ansible 的最佳实践和其他观点。
- Ansible(实际应用)最佳实践 - 最佳实践指南。
- 使用Test-Kitchen对Windows进行Ansible角色测试 - 使用Test-Kitchen和Ansible将playbook应用于Windows机器,并使用Pester进行测试。
- AndiDog的Ansible最佳实践 - 涵盖Ansible设置多个方面的实践,包括支持不同环境(测试、暂存、生产)的提示。
- Ansible入门 - 介绍Ansible,提供安装说明,并对Ansible的基本功能进行交互式演示,如运行Ansible playbook和安装Ansible内容。
- 深入了解Ansible - 描述并展示最常用的Ansible组件如何工作。
德语
- Ansible – 我喜欢临时模式的原因 - 作者对Ansible临时模式的看法。
法语
- 学习和掌握Ansible配置管理工具 - 一系列关于Ansible的法语课程。
Playbook、角色和集合
令人惊叹的生产就绪Playbook、角色和集合,助您快速上手。
- geerlingguy的Ansible Vagrant示例 - 使用Vagrant部署到本地虚拟机的Ansible示例。
- Linux机器设置的Ansible playbook - 用于设置自动更新、加固的Debian/Ubuntu机器及Docker守护进程的Ansible playbook。
- DevSec加固框架 - DevSec集合帮助您加固基于Linux的操作系统以及MySQL、NGINX和SSH服务器/服务。
- T.A.D.S. 模板 - 为开发环境和生产环境配置和部署Docker Swarm集群。基础设施即代码和DevOps最佳实践。
- Openstack Ansible - 用于部署OpenStack的Ansible Playbook。
- Robert de Bock - 一个广泛的Ansible角色集合。
- DebOps - 一个基于Debian的广泛Ansible Playbook集合。
- ansible-ssm - 一个用于为物理和虚拟主机配置AWS SSM代理的Ansible角色。
- BlueBanquise - 一个用于部署集群的连贯Ansible角色集合。
- redhat-cop - Red Hat Communities of Practice项目中带有ansible主题的仓库。
编辑器和IDE集成
令人惊叹的文本编辑器和IDE集成,使Ansible的开发更加便捷。
- Ansible语言服务器 - 为兼容的编辑器添加Ansible支持的语言服务器。
- Emacs - Ansible语言服务器协议客户端 - Emacs对Ansible语言服务器协议的支持。
- VS Code - 官方Ansible扩展 - 通过利用ansible-language-server为Visual Studio Code和兼容OpenVSX的编辑器添加Ansible语言支持。