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 那里同步过来,人为删掉的会被重置。