我将从一个例子开始。假设我有一个包含三个节点的 AKS 群集。每个节点都运行一组 pod,假设有 5 个 pod。我的集群上总共运行 15 个 Pod,每个节点 5 个 Pod,共 3 个节点。
现在假设我的节点根本没有得到充分利用,我决定缩小到 2 个节点而不是 3 个。
当我选择在 Azure 中执行此操作并将节点计数从 3 更改为 2 时,Azure 将关闭第三个节点。但是,它还会删除第三个节点上运行的所有 Pod。如何让我的集群将 Pod 从第三个节点重新安排到第一个或第二个节点,这样我就不会丢失它们及其内容?
目前我认为可以安全地缩小节点规模的唯一方法是手动进行重新调度。
最佳答案
假设您正在使用 Kubernetes 部署(或副本集),那么它应该为您执行此操作。您的部署配置了一定数量的副本,以便在删除节点时为每个 pod 创建副本,调度程序将发现当前事件数量小于所需数量并创建新副本。
如果您只是部署 pod 而没有部署,那么这种情况不会发生,唯一的解决方案是手动重新部署,这就是您想要使用部署的原因。
但请记住,您创建的是新的 Pod,您不会移动之前运行的 Pod。之前 pod 上未保留的任何状态都将消失。这就是它的工作原理。
关于azure - 在缩小 Azure Kubernetes 服务 (AKS) 中的节点后如何重新安排我的 pod?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54201501/