首页 > 解决方案 > 在 Azure Kubernetes 服务 (AKS) 中缩减节点后如何重新安排我的 pod?

问题描述

我将从一个例子开始。假设我有一个包含三个节点的 AKS 群集。这些节点中的每一个都运行一组 pod,比如说 5 个 pod。我的集群上总共运行了 15 个 pod,每个节点 5 个 pod,3 个节点。

现在假设我的节点根本没有得到充分利用,我决定缩减到 2 个节点而不是 3 个。

当我选择在 Azure 中执行此操作并将节点数从 3 更改为 2 时,Azure 将关闭第 3 个节点。但是,它也会删除在第三个节点上运行的所有 pod。如何让我的集群将 Pod 从第 3 个节点重新调度到第 1 个或第 2 个节点,以免丢失它们及其内容?

我现在觉得可以安全地缩减节点的唯一方法是手动重新调度。

标签: azurekubernetesazure-aks

解决方案


假设您正在使用 Kubernetes 部署(或副本集),那么它应该为您执行此操作。您的部署配置了一组副本,以便在您删除节点时为每个 pod 创建,调度程序将看到当前活动的数量小于所需的数量并创建新的。

如果您只是在没有部署的情况下部署 pod,那么这不会发生,唯一的解决方案是手动重新部署,这就是您要使用部署的原因。

但请记住,您创建的是新的 pod,而不是移动以前运行的 pod。您在以前的 pod 上的任何未持久化的状态都将消失。这就是它的工作方式。


推荐阅读