ansible - Ansible - 版本 2、3 和 4 之间有什么区别?
问题描述
之前我使用的是 ansible 2.x,现在最新的 ansible 版本是 4.x。已阅读Ansible 路线图并宣布社区 Ansible 3.0.0 软件包,但不清楚版本 2、3 和 4 之间有什么区别。看起来版本 2.x(基础或核心)包含在 Ansible 3.x 中,并且似乎包含在4.x 也是如此。目前尚不清楚使用 Ansible 2.9 开发的 playbook 是否与 Ansible 4.x 兼容。
我怎样才能清楚地理解它们的区别?请提供最佳资源以了解 Ansible 2、3 和 4 之间的差异。
今天,Ansible 开源世界中有 3 个不同的人工制品:
Ansible Core - 最小的 Ansible 语言和运行时(即将从 ansible-base 重命名) Ansible Collections on Galaxy(支持社区) Ansible 社区包 - Ansible 安装,包括 ansible-base/core 以及社区策划的集合 现在这些人工制品是单独管理的,他们的版本也不同。展望未来,Ansible Core 将保持其现有的编号方案(类似于 Linux 内核)。ansible-base 2.10 之后的下一个 Ansible Core 版本将是 ansible-core 2.11。Ansible 社区包(Ansible Core + community Collections)正在采用语义版本控制。Ansible 社区包 2.10 之后的下一个版本是 3.0.0。
解决方案
基本上,Ansible 只是想分离 ansible 运行时和模块/插件/回调/操作,以便可以独立管理它们。
在 Ansible 3.0 及更高版本上,它现在分为两个包:
ansible-core
(它是 ansible 3.0 中的 ansible-base)、运行时和内置集合(核心模块/插件/等的候选清单)ansible
, 社区策划的收藏
ansible-core 包将维护现有的版本控制方案(类似于 Linux Kernel),而 ansible 包采用语义版本控制
所以 Ansible 4.0 包含两个包:ansible-core 2.12(带有 ansible.builtin 集合的运行时)和 ansible 4.0(社区策划的集合)。
我猜为 ansible 2.9.x 编写的剧本仍将继续工作并在 Ansible 4 (ansible-core 2.12.x) 中得到支持。正如 mdaniel 所提到的,最好开始使用合格的模块名称。
最好检查发行说明中的任何重大更改。
更多信息:
推荐阅读
- elasticsearch - elasticsearch摄取管道重命名动态字段
- android - 在 recyclerview 中显示来自适配器的特定注释
- javascript - 来自经过的小时、分钟和秒变量的 Jquery / JavaScript 倒数计时器
- c++ - 2147483648 + 2147483648 + 2147483648 不应该是 -2147483648 吗?
- javascript - Three.js - 仅渲染场景背景但不渲染几何图形
- powershell - 有没有办法将 VS 2019 的 Developer Powershell 添加为 VSCode 中的集成终端?
- spring - 如何将异常定向到 Spring Integration 中的自定义错误通道?
- c - 如何使用 Bison 打印生成的解析树?
- r - 通过R中的多列获取前n个组合
- algorithm - 用 O(log(n)) 实现最近向量搜索的算法