我们有内部部署群集。我尝试使用kubectl cordon <node>命令封锁一个节点,但当我运行kubectl get nodes命令时,我看到节点仍然准备就绪。接下来我应该在哪里检查?我在api服务器中没有发现任何错误。我应该在哪里检查?Etcd日志(如何检查它们)?调度员?
kubectl cordon <node>
kubectl get nodes
qij5mzcb1#
根据Laurent Gil编写的文档,封锁节点将有两个步骤来完成该过程:封锁节点意味着使节点不可调度。这意味着只要该节点被标记为不可调度,它就不能容纳更多的pod。
步骤:1要在命名节点周围设置警戒线,请使用以下命令:
kubectl cordon my-node
此节点上的现有Pod不会受此影响,并将保持可访问性。想查看目前哪些节点被封锁?使用get nodes命令:
$ kubectl get nodes
步骤:2要清空节点中剩余的Pod,需要清空节点。此过程将逐出Pod,以便将它们重新调度到集群中的其他节点。您可以优雅地终止pod,然后强制将其从计划耗尽的节点中删除。
要启动drain过程,请运行kubectl drain命令,指定要排空的节点的名称:
$ kubectl drain node
首先,我们有Kubernetes封锁-如果您没有手动完成,它会封锁节点。接下来,它会驱逐正在运行的pod(即使没有空间来重新调度它们)。一旦节点为空,您可以关闭它或销毁它。警戒线可确保一旦完成排放,就不能在此节点上调度新的工作负载。
Kubernetes节点封锁和引流自动化:如果您要处理许多节点,那么手动更改节点运行的计算资源将非常耗时。您可以让CAST AI完成这项工作,并为您执行节点封锁和排水,作为其自动优化机制的一部分。
1条答案
按热度按时间qij5mzcb1#
根据Laurent Gil编写的文档,封锁节点将有两个步骤来完成该过程:
封锁节点意味着使节点不可调度。这意味着只要该节点被标记为不可调度,它就不能容纳更多的pod。
步骤:1要在命名节点周围设置警戒线,请使用以下命令:
此节点上的现有Pod不会受此影响,并将保持可访问性。想查看目前哪些节点被封锁?使用get nodes命令:
步骤:2要清空节点中剩余的Pod,需要清空节点。此过程将逐出Pod,以便将它们重新调度到集群中的其他节点。您可以优雅地终止pod,然后强制将其从计划耗尽的节点中删除。
要启动drain过程,请运行kubectl drain命令,指定要排空的节点的名称:
首先,我们有Kubernetes封锁-如果您没有手动完成,它会封锁节点。接下来,它会驱逐正在运行的pod(即使没有空间来重新调度它们)。一旦节点为空,您可以关闭它或销毁它。警戒线可确保一旦完成排放,就不能在此节点上调度新的工作负载。
Kubernetes节点封锁和引流自动化:如果您要处理许多节点,那么手动更改节点运行的计算资源将非常耗时。您可以让CAST AI完成这项工作,并为您执行节点封锁和排水,作为其自动优化机制的一部分。