Kubernetes源码探疑:Pod IP泄露排查及解决方法
的关键线索:所有的VPC IP泄露事件,都源于一个意料之外的Sandbox容器,被泄露的IP即为此Sandbox容器的IP。刚才提到,SyncPod函数中会对Pod是否需要重建Sandbox容器进行判定,这个意外的第二个Sandbox容器是否和这次判定有关呢? 凭kubelet的运行日志无法证实该猜测,必须修改源码增加日志输出。重新编译kubelet后,发现第二个Sandbox容器确实来自SyncPod函数中的判定结果。进一步确认的是,该SyncPod调用是由第一个Sandbox容器被kubelet所杀而导致的PLEG触发的。 那为什么SyncPod在第一个Sandbox容器被销毁后认为Pod需要重建Sandbox容器呢?进入判定函数podSandboxChanged仔细分析...阅读全文