7

我是 kubernetes 的新 cookie。我想知道如果节点资源处于关键状态,kubernetes 是否会自动将 Pod 切换到另一个节点。

例如,如果 Pod A 、 Pod B 、 Pod C 在节点 A 上运行,而 Pod D 在节点 B 上运行。 Pod 使用的节点 A 的资源会很高。在这种情况下,kubernetes 是否会将节点 A 中运行的任何 pod 迁移到节点 B。

我已经了解了用于在某些节点中运行 pod 的节点亲和性和节点选择器。如果 kubernetes 提供此功能以在资源使用率很高的情况下自动将 Pod 迁移到另一个节点,这将很有帮助。

谁能知道我们如何在 kubernetes 中实现这一目标?

谢谢-S

4

3 回答 3

7

是的,如果资源使用率很高,Kubernetes 可以自动将 Pod 迁移到另一个节点。pod 将被杀死,并在另一个节点上启动一个新的 pod。您可能想了解Quality of Service Classes,以了解哪个 pod 会首先被杀死。

也就是说,您可能想阅读有关Automatic Horizo​​ntal Pod Autoscaling的内容。这可能会给你更多的控制权。

借助 Horizo​​ntal Pod Autoscaling,Kubernetes 会根据观察到的 CPU 利用率(或者,在 alpha 支持下,基于应用程序提供的一些其他指标)自动扩展复制控制器、部署或副本集中的 pod 数量。

于 2017-07-19T12:33:21.450 回答
0

随着负载的增加,启动一个新的 pod 比在不同节点之间移动 pod 更有意义,以避免在繁忙节点上的 pod 内分散当前正在运行的进程。

于 2017-07-19T11:47:26.473 回答
0

您可以在部署中执行节点选择器并移动节点

https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/

于 2022-02-02T05:07:41.617 回答