Kubernetes Autoscaler如何始终保持一个节点处于空闲状态

Kubernetes Autoscaler如何始终保持一个节点处于空闲状态,kubernetes,gpu,autoscaling,google-kubernetes-engine,Kubernetes,Gpu,Autoscaling,Google Kubernetes Engine,我目前正在与GPU的,因为他们是昂贵的,我希望他们的规模缩小和上升,根据负载。但是,扩展集群和准备节点大约需要8分钟,因为它安装了驱动程序并进行了一些其他准备工作 为了解决这个问题,我想让一个节点保持空闲状态,并自动缩放其余节点。有什么办法吗 这样,当一个请求到来时,空闲节点将接受它,并创建一个新的空闲节点 谢谢 有三种不同的方法: 1-第一种方法完全是手动的。这将帮助您保持节点处于空闲状态,而不会在自动缩放过程中导致应用程序停机 您必须防止某个特定节点自动缩放(我们称之为“节点A”)。创建一个

我目前正在与GPU的,因为他们是昂贵的,我希望他们的规模缩小和上升,根据负载。但是,扩展集群和准备节点大约需要8分钟,因为它安装了驱动程序并进行了一些其他准备工作

为了解决这个问题,我想让一个节点保持空闲状态,并自动缩放其余节点。有什么办法吗

这样,当一个请求到来时,空闲节点将接受它,并创建一个新的空闲节点


谢谢

有三种不同的方法:

1-第一种方法完全是手动的。这将帮助您保持节点处于空闲状态,而不会在自动缩放过程中导致应用程序停机

您必须防止某个特定节点自动缩放(我们称之为“节点A”)。创建一个新节点,并将节点a的POD复制到该新节点。 该节点将在不属于自动缩放过程的情况下运行。 自动缩放过程完成并引导完成后,可以安全地排空该节点

 a. Create a new node. 
 b. Prevent node A from evicting its pods by adding the annotation "cluster-autoscaler.kubernetes.io/safe-to-evict": "false"
 c. Copy a replica of node A, make replicas of the pods into that new node. 
 d. Once the autoscaler has scaled all the nodes, and the boot time has
    completed, you may safely drain node A, and delete it.
2-你可以运行一个


3-如果要在自动缩放器缩小时阻止删除节点A,“cluster autoscaler.kubernetes.io/scale down disabled”:“true”在一个特定节点上。这仅在缩小过程中有效

谢谢!第一个选项似乎有点过于手动,但我将使用第二个选项或第三个选项更深入地挖掘。