Kubernetes Chaos Engineering - kubelet and kube-proxy
本文是一篇实验报告,在 GCE 上删掉 iptable 规则后,路由到那台节点的请求会怎么样呢?
- 理解的前提是:
- kube-proxy 运行在每台节点上
- kube-proxy 需要查询 master 才能知道每个节点能处理哪些 application 的请求。
- 就算请求到了节点,而应用不在这个节点上,kube-proxy 也能将请求导到临近可用的节点上。
- kube-proxy 负责管理 iptable 规则
- 当你删除了某个节点上的 iptable 的一条规则,请求会卡住大约 30 秒,不 timeout 的话,最终会等到结果响应回去。
- 原理:有 pod add/delete 的时候 master node 就会重新计算 routing list.kube-proxy 会每隔
--iptables-sync-period
(10-30s)把路由表从 master 那里同步过来,人为删掉的会被重置。