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

时间:2020-08-04 10:06:06

标签: amazon-web-services kubernetes routes

我有2个带有简单echo应用程序的pod,这些pod已注册到在AWS中公开ELB的服务。 我正在从笔记本电脑开始循环卷曲以打回声应用,然后我kubectl delete pod echo-xyz 结果连接起来,因为接下来的几秒钟流量仍被路由到已删除的Pod。不过,该Pod已从端点列表中正确删除。相同的测试,但是从群集内部发出卷发以绕过ELB正常工作-我删除pod的那一刻,流量被路由到剩下的单个pod,直到创建新的pod。
在所附的图片中,您可以从左侧通过群集看到测试,而从右侧通过ELB可以看到测试。

curl comparsion

在AWS上通过kops安装的K8s 1.16.8。

任何提示将不胜感激。

1 个答案:

答案 0 :(得分:0)

吊舱的删除不是立即的。有kubelet执行的事件列表(等待宽限期,preStop挂钩等),以在发生中断时降低吊舱。此处的文档:https://kubernetes.io/docs/concepts/workloads/pods/disruptions/

这种正常终止的过程是设计使Kubernetes不发送KILL命令,而是与TERM(终止)信号一起工作。

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

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