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