我在一个节点池中有6个节点的工作负载,以及一些服务,假设是3 n + k。然后我将它们缩减到n + k的数量,所有节点的负载从80%减少到大约45- 50%,我希望重新调度我的服务以减少节点的总数,但这并没有发生。为什么?还要等吗?我需要做一些其他的动作吗?
rjjhvcjd1#
一旦负载减少到45%到50%,GKE应该自动重新安排节点之间的工作负载,以有效地利用资源。但是,这个过程可能需要一些时间,因为Kubernetes将节点保存在缓冲区中,并在一定时间内期望相同的流量。如果预期的流量没有实现,Kubernetes最终应该自行采取行动来重新平衡工作负载。如果未执行此活动或未执行节点缩减,则可能是由于以下原因:
apiVersion: v1 kind: Pod | Deployment metadata: annotations: cluster-autoscaler.kubernetes.io/safe-to-evict: "true"
字符串要解决节点缩减和工作负载重新安排的问题,您应该检查并解决以上几点。如果有Pod中断预算,请考虑对其进行调整,以便在节点耗尽期间实现更大的灵活性。此外,如果pod使用本地存储,请考虑将其迁移为使用网络附加存储或其他持久性存储解决方案,以实现更好的工作负载重新分配。一旦这些问题得到解决,Kubernetes应该能够有效地基于pod负载和资源利用率来处理节点缩减。
1条答案
按热度按时间rjjhvcjd1#
一旦负载减少到45%到50%,GKE应该自动重新安排节点之间的工作负载,以有效地利用资源。但是,这个过程可能需要一些时间,因为Kubernetes将节点保存在缓冲区中,并在一定时间内期望相同的流量。如果预期的流量没有实现,Kubernetes最终应该自行采取行动来重新平衡工作负载。如果未执行此活动或未执行节点缩减,则可能是由于以下原因:
1.使用节点存储的Pod:如果一个pod正在使用节点上的本地存储,Kubernetes将避免杀死该pod以避免数据丢失。在这种情况下,工作负载不会被重新安排,直到Kubernetes可以安全地终止pod而不会丢失数据。
1.添加safe to evict annotation:通过向部署添加eviction annotation,管理员可以确保更好地重新安排pod,从而缓解因pod未按预期被驱逐而导致的潜在问题。
字符串
要解决节点缩减和工作负载重新安排的问题,您应该检查并解决以上几点。如果有Pod中断预算,请考虑对其进行调整,以便在节点耗尽期间实现更大的灵活性。此外,如果pod使用本地存储,请考虑将其迁移为使用网络附加存储或其他持久性存储解决方案,以实现更好的工作负载重新分配。一旦这些问题得到解决,Kubernetes应该能够有效地基于pod负载和资源利用率来处理节点缩减。