首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

借助 Pod 删除事件的传播实现 Pod 摘流

这是实现「 Kubernetes 集群零停机时间更新」系列文章的第三部分。在本系列的第二部分中,我们通过利用 Pod 生命周期钩子实现了应用程序Pod的正常终止,从而减轻了由于 Pod 未处理完已存请求而直接关机而导致的停机时间。但是,我们还了解到,在启动关闭序列后,Pod 会拒绝为新到来的流量提供服务,但实际情况是 Pod 仍然可能会继续接收到新流量。这意味着最终客户端可能会收到错误消息,因为它们的请求被路由到了不再能为流量提供服务的Pod。理想情况下,我们希望 Pod 在启动关闭后立即停止接收流量。为了减轻这种情况,我们必须首先了解为什么会发生Pod开始关闭时仍然会接收到新流量这个问题。

02

gRPC的平滑关闭和在Kubernetes上的服务摘流方案总结

平滑关闭和服务摘流是保证部署了多节点的应用能够持续稳定对外提供服务的两个重要手段,平滑关闭保证了应用节点在关闭之前处理完已接收到的请求,以前在文章「学习用Go编写HTTP服务」里给大家介绍过怎么用net/http库提供的 http.ShutDown平滑关停HTTP 服务,今天再给大家介绍一下gRPC分布式服务的平滑关停方法。应用在进入平滑关闭阶段后拒绝为新进来的流量提供服务,如果此时继续有新流量访问而来,势必会让发送请求的客户端感知到服务的断开,所以在平滑关闭应用前我们还要对应用节点做摘流操作,保证网关不会再把新流量分发到要关闭的应用节点上才行。

02
领券