Myluzh Blog

K8S环境下的Nacos应用优雅下线

2024-8-9 myluzh Kubernetes

0x01 Nacos心跳时间 Nacos心跳检测时间 Nacos 目前支持临时实例使用心跳上报方式维持活性,发送心跳的周期默认是 5 秒,Nacos 服务端会在 15 秒没收到心跳后将实例设置为不健康,  在 30 秒没收到心跳时将这个临时实例摘除(这里要注意30秒这个时间)。 0x02 Nacos下线应用接口  在Nacos OpenAPI:(https://nacos.io/zh-cn/docs/open-api.html )中有写明,可以通过/nacos/v1/ns/instance修改实例来完成应用下线,例如: curl -X PUT "http://172.30.233.87:8848/nacos/v1/ns/instance?serviceName=xfshcloud-dxp&clusterName=DEFAULT&groupName=DEFAULT_GROUP&ip=10.42.1.89&port=9208&ephemeral=true&weight=1&enabled=false&namespaceId=a9076f...

阅读全文>>

标签: k8s PreStop nacos

评论(0) (373)

K8S 中的优雅终止:确保服务平稳关闭

2024-8-2 myluzh Kubernetes

0x01 什么是优雅停止? 优雅终止是 Kubernetes 中一个非常重要的概念,它关系到服务的稳定性和用户体验。通过合理配置和使用 Kubernetes 提供的工具,我们可以确保应用在终止时能够做到尽可能的平滑和优雅,这不仅提升了系统的可靠性,也增强了用户对服务的信任。 优雅终止指在终止应用或服务时,确保当前正在进行的操作能够正常完成,同时避免新请求的进入,使得服务能够平稳地关闭。在 Kubernetes 中,这通常涉及到 Pod 的终止流程。 0x02 Pod 终止流程 1、Pod 状态变为 Terminating Pod 被删除,API 层面上 metadata.deletionTimestamp 字段会被标记上删除时间。 2、更新转发规则 kube-proxy 发现 Pod 被删除,开始更新转发规则,将 Pod 从 service 的 endpoint 列表中摘除掉,新流量不再转发到该 Pod。 3、销毁 Pod kubelet 发现 Pod 被删除,开始销毁 Pod。 执行 PreStop Hook:如果 Pod 中有配置 preStop Hook,Kubernetes 会执行这些命令。 ...

阅读全文>>

标签: k8s kubernetes 优雅停止 PreStop Readiness SIGTERM Liveness

评论(0) (426)