Kubernetes 发行版分类

这些天我听到越来越多的关于 Kubernetes 发行版的讨论。在高层次上,我知道人们使用这个术语时的意思。但是,当您环顾生态系统时,有时很难弄清楚 Kubernetes 发行版的确切含义,因为它们有多种形式。

不是什么

定义 Kubernetes 发行版不是什么很容易:它不是“普通”Kubernetes,意思是您通过从 GitHub 下载 Kubernetes 源代码、编译并自行安装来创建的 Kubernetes安装。几乎没有人会以这种方式安装 Kubernetes,因为这会花费太多的工作。

相反,大多数使用 Kubernetes 的人使用发行版安装它。在高层次上,Kubernetes 发行版是任何包含 Kubernetes 的预构建、预打包软件平台。

Kubernetes 发行版不仅使您免于必须自己从源代码下载和构建一堆东西的麻烦,而且大多数还具有用户友好的安装程序,以帮助简化安装 Kubernetes 各种组件的复杂任务。

Kubernetes 发行版的 4 种类型

然而,除了这些功能之外,Kubernetes 发行版在实际提供的内容方面差异很大。我认为它们可以大致分为四种不同类型的分布:

  • “纯”发行版:这些是提供预构建 Kubernetes 和仅预构建 Kubernetes 的平台。在大多数情况下,他们让用户选择使用哪些其他技术来构建完整的容器化应用程序堆栈。从这个意义上说,这些是“最纯粹的”Kubernetes 发行版。Canonical Kubernetes 和 Kontena Pharos 就是此类别的示例。
  • “Plus”发行版:这些就是我所说的“Kubernetes plus”发行版。我的意思是指将 Kubernetes 与其他特定技术(例如某些容器运行时、主机操作系统或控制平面附加组件)集成的平台。这些是 Kubernetes 发行版,因为它们包含 Kubernetes,但它们并没有为您提供该技术的纯上游版本或以您想要的任何方式设置它灵活性。OpenShift 和 Rancher(这两个都是早期根本不包括 Kubernetes 的广泛平台)就是例子。
  • Kubernetes 即服务:如果您使用托管服务在云中运行 Kubernetes,您实际上是在使用云供应商提供的发行版。这些发行版为用户提供了最少的控制权。但是您只需点击几下即可启动并运行,那么谁在抱怨呢?Azure AKS、AWS EKS 和 Google GKE 是此类 Kubernetes 即服务分布的明显示例。
  • 有限用途的发行版:最后一类包括那些用于特定和有限用途的发行版(或使用 Kubernetes 构建的平台)。MicroK8s 和 K3s 等单节点、“轻量级”Kubernetes 发行版就是示例。(可以说)KubeVirt 也是如此,这是一个使用 Kubernetes 来编排虚拟机而不是容器的平台。

这个词有意义吗?

鉴于 Kubernetes 发行版有很多不同的形式,我有时想知道这个术语是否有意义。

从角度来看,请考虑我们使用术语“Linux 发行版”的方式。它指的是任何类型的操作系统,包括 Linux 内核以及与其打包在一起的其他软件。Linux 发行版有多种形式,用于多种用途。但是,没有基于云的 Linux 发行版等价于 AKS 或 GKE 之类的东西。我也从未听过任何人谈论只包含内核代码本身的 Linux 发行版;在我看来,如果您想将其视为发行版,则必须添加其他人。

相比之下,Kubernetes 发行版可以是几个根本不同的东西。也许与其谈论它们,好像它们都对同一个概念有不同的看法,不如使用标签仅指代纯分布会更有意义。上面描述的其他类型的发行版有不同的用途,并不是真正意义上的 Kubernetes 发行版,就像 Ubuntu 或 Fedora 是 Linux 的发行版一样。

猜你喜欢

转载自blog.csdn.net/allway2/article/details/121690463