Kubernetes 与 Docker 的平台敏感度如何?

Kubernetes 与 Docker 的平台敏感度如何?

Kubernetes 和 Docker 对平台的敏感度如何?

也就是说,我可以在不同硬件上建立集群吗?

假设我有一个用 ASP.NET Core 编写的 REST api。语言和开发环境通常是跨平台的。

然后,我可以为我的 API 构建一个 Docker 容器,甚至可以构建一个多架构容器,因此从我的容器构建的图像可以在 ARM 和 AMD64 上运行。

那么我可以在混合 ARM 和 Intel/AMD 硬件上构建 Kubernetes 集群吗?

如果我这样做,我部署的所有图像都必须是多架构的吗?

或者我可以拥有单架构图像,并期望 K8S 足够智能,仅在可以支持它们的节点上调度单架构图像?

答案1

您可以通过将 arm64 节点添加到现有的 amd64 集群或反之亦然,获得具有多种架构的 Kubernetes 集群。

并非所有镜像都需要多架构,但你需要使用节点亲和性或者污点和容忍度以便集群可以将每个容器调度到合适架构的节点上。

相关内容