Ansible Packages
了解 Ansible 的打包方式,以及 ansible 和 ansible-core 包的一些优势。
Ansible 发行版以两个包的形式打包和分发:ansible-core 和 ansible。
ansible-core 包包含 Ansible 平台的最小核心部分,
包括所有命令行工具、主要组件以及 ansible.builtin 集合。ansible 社区包在 ansible-core 的基础上增加了若干额外集合。
安装 Ansible 包
您可以选择以下任意一种方式安装 Ansible 社区包:
- 使用特定 Linux 发行版的 OS 包管理器安装最新版本。
- 使用
pip(Python 包管理器)进行安装。
Ansible core
Ansible core 是一个主要面向开发人员和仅需安装必要集合的用户的命令行工具。
它包含最少数量的模块和插件,并允许安装其他集合。
Ansible core 是 Ansible 的主要构建模块和架构基础。它包含:
- 命令行接口(CLI)工具(如
ansible-playbook、ansible-inventory),用于驱动和交互自动化任务。 - Ansible 语言及 YAML,定义了一套编写 Ansible playbook 的规则,包含条件判断、块、包含循环以及其他 Ansible 指令。
- 通过 Ansible 集合实现扩展的架构框架。
Ansible core 大约每半年发布一次新主版本。
Ansible core 的关键点
以下是 Ansible core 包的关键特性:
- 继续使用传统的 Ansible 版本编号(如 2.11,然后是 2.12)。
- 不使用语义化版本控制。
- 保留最新版本及两个旧版本。
- 包含语言、运行时和内置插件。
- 在
ansible/ansibleGitHub 仓库中进行开发和维护。
Ansible community
ansible 包包含 Ansible 语言、运行时以及社区维护的集合。它重现并扩展了 Ansible 2.9 中包含的功能。
Ansible community 包在 Ansible core 基础上,集成了 85+ 个额外集合,包含数千个模块和插件。
Ansible community 的关键点
Ansible community 包的关键特性如下:
- 使用新的版本编号(如 6.0.0,然后是 7.0.0)。
- 遵循语义化版本控制规则。
- 仅维护单个版本。
- 包含语言、运行时和精选集合。
- 在集合仓库中进行开发和维护。
Ansible community 包内包含什么?
Ansible community 包的每个主版本都会采用所包含集合的最新版本,以及 ansible-core 的最新发布版本。
Ansible community 包的主版本可能包含所包含集合中的模块及其他插件的破坏性变更,以及核心功能的变更。
Ansible 包依赖于 ansible-core(此前称为 ansible-base)。因此,当执行 pip install ansible 时,pip 会自动安装 ansible-core。
Ansible 3.0.0 及后续版本包含更多集合,得益于更广泛的 Ansible 社区对集合按照社区检查清单进行评审。
发布周期
Ansible community 团队通常每年发布两个主版本,采用灵活的发布周期,略晚于 ansible-core 的发布。该周期可延长,以便在新版本发布前充分实施和测试较大变更。有关即将发布的详细信息,请参阅 Ansible 路线图。
在主版本之间,Ansible 团队每三周发布一次 Ansible community 包的次版本。次版本包含新的向后兼容功能、模块、插件和错误修复。
从版本 2.10 开始,Ansible community 团队仅保证维护一个主社区包版本。例如,当 Ansible 5.0.0 发布时,团队将不再发布新的 4.x 版本。社区成员可根据需要自行维护旧版本。