Docker与Kubernetes集成兼容性矩阵

95次阅读
没有评论

问题描述

在使用Docker和Kubernetes集成时,用户可能会面临不同发行版中所包含的软件版本的问题。例如,OpenShift和Rancher Labs是Docker和Kubernetes的两个集成示例。然而,我们似乎仍未完全摆脱依赖地狱的问题。用户的问题是:是否存在一个已建立的信息来源,可以查看各个发行版中打包的Docker和Kubernetes版本(类似于维基百科上的Ubuntu/Debian版本记录)?

解决方案

请注意以下操作可能涉及版本差异,建议在执行前进行备份。

要了解不同发行版中Docker和Kubernetes的版本兼容性,可以参考Kubernetes每个版本的外部依赖项部分。在每个Kubernetes版本的Changelog中都有列出验证过的Docker版本。以下是一些示例链接:

  • CHANGELOG-1.14:在这个Changelog中,列出了验证过的Docker版本,包括了1.13.1、17.03、17.06、17.09、18.06和18.09,但移除了1.11.1和1.12.1。

  • CHANGELOG-1.13:在这个Changelog中,列出的验证过的Docker版本与Kubernetes 1.12版本的一致,包括了1.11.1、1.12.1、1.13.1、17.03、17.06、17.09和18.06。

  • CHANGELOG-1.12:在这个Changelog中,列出的验证过的Docker版本包括了1.11.1、1.12.1、1.13.1、17.03、17.06、17.09和18.06。

根据这些Changelog的信息,可以获得不同Kubernetes版本所验证过的Docker版本列表。这将帮助你了解哪些Docker版本与特定Kubernetes版本兼容。

总结

在集成Docker和Kubernetes时,兼容性是一个重要的问题。了解不同Kubernetes版本所验证过的Docker版本列表,可以帮助你在部署时选择适合的版本,以确保系统的稳定性和正常运行。

请注意,本文提供的解决方案可能受到版本变化的影响。在执行操作之前,请务必查阅相关文档并进行适当的测试。

注释

  1. 你提到的第二点不太清楚(Moby使用containerd,Docker引擎企业版或社区版也使用containerd,我不太明白与Kubernetes的关系)。实际上,我对整个问题也不太理解。Kubernetes是一个编排工具,它可以使用Docker或Rkt作为容器引擎。2. Kubernetes的教程通常会提到需要有Docker守护进程,我认为在大多数情况下这是正确的,或者这已经是过时的信息了。
  2. 是的,Docker引擎或Rkt,我认为Docker引擎更稳定一些,但这是受支持的Docker版本,我不太明白你在提到分支时的意思。
  3. Docker引擎1.12和1.13是17.x-ce分支之前的版本,实际上可能可以称为1.17,对吗?https://github.com/moby/moby/releases?after=v17.04.0-ce-rc1
  4. 是的,Docker改变了它的版本号系统,Moby也遵循了这个改变,可以在这个标签中看到:https://github.com/moby/moby/releases/tag/v17.03.0-ce-rc1(我仍然看不出分支,只是版本方案的改变)
  5. 哦,我现在明白了。所以实际上只有一个代码库,无论是社区版(Moby)还是企业版(Docker Inc.?)。回到问题本身,不同版本的Docker引擎与其他重要且流行的构建物(如Kubernetes)的集成,似乎没有一个兼容性矩阵。
  6. 你介意加入https://chat.stackexchange.com/rooms/54506/chatops继续讨论吗?我觉得还有一些地方需要澄清(Moby并不等同于Docker CE,它们是不同的产品),关于Kubernetes:从文档中可以看到:”所需的最低Docker版本将随着kubelet版本的变化而变化。选择最新的稳定版本是一个不错的选择。”以及”Rkt是Docker的一种替代方案。你只需要安装Docker或Rkt中的一个。所需的最低版本是v0.5.6。”
正文完