繁体   English   中英

来自外部的 K8S 流量到达已删除的 pod

[英]K8S traffic from external reaching deleted pod

我有 2 个带有简单 echo 应用程序的 pod,它们已注册到在 AWS 中公开 ELB 的服务。 我正在从我的笔记本电脑循环启动 curl 以点击 echo 应用程序,然后我执行kubectl delete pod echo-xyz结果已连接,因为接下来的几秒钟流量仍在路由到已删除的 pod。 不过,Pod 已从端点列表中正确删除。 相同的测试,但从集群内部发出 curl 以绕过 ELB 正在按预期工作 - 在我删除 Pod 的那一刻,流量被路由到剩余的单个 Pod,直到创建新 Pod。
在附图中,您可以在左侧看到来自集群内部的测试,在右侧通过 ELB 从外部看到测试。

curl对比

通过 AWS 上的 kops 安装 K8s 1.16.8。

任何提示将不胜感激。

pod 的删除不是立即的。 一旦发生中断,kubelet 会执行一系列事件(等待宽限期、preStop 挂钩等)以关闭 pod。 此处的文档:https://kubernetes.io/docs/concepts/workloads/pods/disruptions/

这个优雅终止的过程是设计使 Kubernetes 不发送KILL命令,而是使用TERM (终止)信号。

参考文档: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#pod-termination

此外,不建议使用--force delete,因为它会在不等待资源被删除的情况下更新 API 服务器。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM