首页 > 解决方案 > 指定每个节点的确切 pod 数量,然后执行映像版本升级

问题描述

我在 k8s 集群中有 3 个节点,我需要在每个节点中安排 2 个 pod,所以我最终会拥有 3 个节点,每个节点有 2 个 pod(6 个副本)。

我发现 k8s 具有Pod Affinity/Anti-Affinity功能,这似乎是正确的做法。

我的问题是:我想每个节点运行 2 个 pod,但我经常kubectl apply用来升级我的 docker 映像版本,在这种情况下,k8s 应该能够在终止旧映像之前在每个节点中安排 2 个新映像 - 更新的如果我使用 Pod Affinity/Anti-Affinity 来安排每个节点仅允许 2 个 pod 的图像?

如何在我的部署配置中执行此操作?我无法让它工作。

标签: kubernetesgoogle-kubernetes-engine

解决方案


我相信这是 kubelet 设置的一部分,因此您必须查看 kubelet 的--max-pods标志,具体取决于您的集群配置。以下链接可能有用:

https://kubernetes.io/docs/reference/command-line-tools-reference/kubelet/#kubelet

https://kubernetes.io/docs/tasks/administer-cluster/reconfigure-kubelet/


推荐阅读