我不太清楚Openshift缩减规模的过程。我知道openshift在一个微服务Pod上发送SIGTERM信号,并且应用程序开始正常销毁,而openshift停止在此Pod上发送流量。但是,它按哪个顺序进行?首先,openshift停止发送流量,然后将SIGTERM发送到pod? 以及openshift如何知道何时吊舱被摧毁?它是否基于活跃性/可读性调查?
答案 0 :(得分:2)
但是按哪个顺序进行?首先,openshift停止发送流量,然后将SIGTERM发送到pod?
是的,OpenShift(Kubernetes)在SIGTERM之前删除了pod端点。 终止过程的顺序如下,有关更多详细信息,请参考Kubernetes best practices: terminating with grace。
1-Pod设置为“终止”状态,并从所有服务的端点列表中删除
2-执行了preStop Hook
3-SIGTERM信号发送到了吊舱
4-Kubernetes等待宽限期
5-SIGKILL信号发送到吊舱,吊舱已移除
openshift如何知道豆荚何时被摧毁?它是否基于活跃性/可读性调查?
OpenShift(Kubernetes)定期将容器状态与容器运行时(cri-o,docker ...)同步。更多信息在这里:Kubelet: Pod Lifecycle Event Generator (PLEG)。