1. 什么是 Ansible-core?什么是 Ansible 社区包?

Ansible-core 是 Ansible 的核心语言和运行时工具,主要面向开发者和希望仅安装所需集合的用户。它包含最少的模块和插件,并允许安装其他集合。Ansible-core 是 Ansible 自动化的基础架构,类似于 Ansible 2.9,但不包含已移入集合的内容。

Ansible 社区包 是一个包含 Ansible-core 和社区精选的 85+ 集合的完整包,提供数千个模块和插件。它扩展了 Ansible 2.9 的功能,并提供了更丰富的自动化功能。

2. Ansible 2.9 之后发生了什么?

从版本 2.10 开始,Ansible 分发了两个版本:一个社区包(ansible)和一个最小化的语言和运行时(ansible-core,在 2.10 版本中称为 ansible-base)。这种分发方式允许用户根据需求选择适合的 Ansible 风格和版本。

3. Ansible 社区包和 Ansible-core 的特点

特性 Ansible 社区包 Ansible-core
版本号 使用新版本号(如 2.10、3.0.0) 继续使用经典 Ansible 版本号(如 2.11、2.12)
语义化版本 遵循语义化版本规则 不使用语义化版本
维护策略 同一时间仅维护一个主要版本 同时维护最新版本及两个旧版本
内容 包含语言、运行时和精选集合 包含语言、运行时和内置插件
开发和维护 在集合仓库中开发和维护 在 ansible/ansible 仓库中开发和维护
目标用户 需要完整功能的用户 开发者和需要定制集合的用户

4. 安装方式

  • Ansible 社区包:可以通过操作系统的包管理器(如 Red Hat、CentOS、Debian、Ubuntu)或 Python 的 pip 安装。
  • Ansible-core:可以通过 pip 或操作系统的包管理器安装。

5. Ansible 社区包的发布周期

Ansible 社区团队通常每年发布两个主要版本,发布周期紧跟 Ansible-core 的发布。在主要版本之间,每三周会发布一个新的次要版本,包含新的功能、模块、插件以及错误修复。

6. Ansible-core 的应用场景

Ansible-core 是 Ansible 自动化的基础,适用于需要稳定可靠自动化平台的用户,尤其是开发者和生产环境。它提供了以下功能:

  • 命令行工具(如 ansible-playbook、ansible-doc)。
  • 基于 YAML 的 Ansible 语言。
  • 通过集合扩展的功能。

7. Ansible 社区包的应用场景

Ansible 社区包提供了完整的 Ansible 功能,适合需要广泛自动化功能的用户。它包含:

  • Ansible-core。
  • 社区精选的 85+ 集合。
  • 千余个模块和插件。

8. 安装命令

  • 安装 Ansible-core:

    bash pip install ansible-core

  • 安装 Ansible 社区包:

    bash pip install ansible

9. 链接

通过这些信息,您可以更好地理解 Ansible-core 和 Ansible 社区包的区别,并根据您的需求选择合适的版本。