我是kubernetes的新饼干。我想知道如果该节点资源处于关键状态,kubernetes是否已自动将pod切换到另一个节点。
例如,如果Pod A,Pod B,Pod C在节点A上运行且Pod D在节点B上运行。则pod使用的节点A的资源将很高。在这些情况下,kubernetes是否会将节点A中运行的任何pod迁移到Node B.
我已经了解了节点关联和节点选择器,它用于在某些节点中运行pod。如果kubernetes提供此功能,以便在资源被高度使用时自动将pod迁移到另一个节点,将会很有帮助。
任何人都知道如何在kubernetes中实现这一目标吗?
由于 -S
答案 0 :(得分:1)
是的,如果资源被高度使用,Kubernetes可以自动将pod迁移到另一个节点。该pod将被终止并且另一个节点上将启动一个新的pod。您可能想要了解Quality of Service Classes,以了解哪个pod将首先被杀死。
那就是说,您可能想要阅读Automatic Horizontal Pod Autoscaling。这可能会给你更多的控制权。
使用Horizontal Pod Autoscaling,Kubernetes会根据观察到的CPU利用率(或使用alpha支持,基于其他一些应用程序提供的指标)自动调整复制控制器,部署或副本集中的pod数量。
答案 1 :(得分:-1)
随着负载的增加,启动新的pod而不是在不同节点之间移动pod更有意义,以避免分散忙碌节点上pod当前正在运行的进程。