-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
post/tidb-opeartor-webhook/ #5
Comments
基于AdmissionControl的解决方案太优雅了,对我启发很大,谢谢😄 |
深受启发,感谢前辈 |
请问:在提到接收SIGTERM信号后处理会遇到”已经卡死了,处理不了优雅退出的代码逻辑“,这句该怎么理解,一般在什么场景下会发生这种情况,谢谢 |
好像示意图看不到了 |
写得很不错,优雅停机很有必要,在开发中遇到过此问题,虽然设置了 k8s容器的最小就绪时间 确保容器发布时已进入 nacos 的健康可用状态,但旧的 pod 进行下线时 k8s 却是直接关闭容器,导致没有优雅停机,nacos 这边得等30秒的健康探测,这30秒会因为 gateway 负载均衡导致部分访问流量不可用。看了文章后有所启发。 |
后面仔细排查后发现是 spring-cloud-alibaba 中的 dubbo 模块导致该问题,dubbo 优雅下线时没有通知 nacos 导致此问题,问题不是 k8s。已在spring-cloud-alibaba 提交代码进行修复。 |
pod 状态变成终止中那一刻,网络就被摘除清理,这个时候已经不能与外界进行网络通信了,为什么说可以实现对外部的一些反注册逻辑呢? 这块不太理解 |
就是要在 pod 完全关闭前,内部的 应用程序需要跟注册中心(自建注册中心,nacos,consul等)的组件进行最后下线通知。不然注册中心 会以为是宕机导致 pod 心跳中断。这样不够优雅,会存在部分业务流量流入已终止的pod中,导致部分流量处理异常。 |
就是不要 直接 删除掉 pod ,而是正常 pod 关闭,直接强制删除掉 pod 这样内部程序直接终止,走不了自己内部程序的一些下线通知流程 |
Kubernetes 中如何保证优雅地停止 Pod
https://aleiwu.com/post/tidb-opeartor-webhook/
The text was updated successfully, but these errors were encountered: