我目前正在AWS上运行,并使用kube-aws/kube-spot-termination-notice-handler拦截AWS终止通知,并优雅地驱逐pod。
我正在阅读this GKE documentation page,我看到了:
在收到抢先通知后30秒内,可抢占的实例终止。
进入Compute Engine文档,我发现ACPI G2 Soft Off在终止发生前30秒发送,但是this issue表示kubelet本身无法处理它。
那么,GKE如何处理抢占?节点是否会进行排水/警戒线操作,还是仅仅进行硬关机?
答案 0 :(得分:1)
是的,你是对的,到目前为止还没有内置的方法来处理Ext.create('clt.view.users.UsersModel', {
。
请注意,如果normal preemptible实例支持关闭脚本(您可以在其中引入某种逻辑来执行drain / cordon),如果它们是Kubernetes节点则不是这样:
目前,可抢占的VM不支持关闭脚本。
您可以执行一些测试,但可以从文档中再次引用:
您可以通过停止实例来模拟实例抢占。
到目前为止,如果你停止实例,即使它是一个Kubernetes节点,也不会采取任何措施来封锁/排空并感激地从集群中删除该节点。
然而,这个功能仍然处于测试阶段,因此它处于生命的早期阶段,在这个时刻讨论是否以及如何引入此功能是一个问题。
免责声明:我的工作是支持Google Cloud Platform
答案 1 :(得分:1)
最新和相关的答案
有一个GitHub项目(不是我的),该项目捕获此ACPI处理程序,并使节点自行束缚和耗尽,然后重新启动自身,这在我们的测试中产生了更干净的可抢占体验,对于高度可用的部署,这几乎不明显在您的群集上。
请参阅:https://github.com/GoogleCloudPlatform/k8s-node-termination-handler