仕事でKubernetesというものを使わないといけないので勉強している。
1)CRIの仕様を満たすコンテナランタイムがワーカーノードのcgroupsを操作し、
2)kube-proxy(カーネルモードの場合)はワーカーノードのiptablesを操作し、
3)Envoyがサイドカーとして注入された場合は注入されたPodのiptablesを操作し、
4)K8sのコントローラとして動くxxプラグインは全部etcd上のリソースをwatchでポーリングしていて、変更通知が来たらアクションを起こすので必ずkubernetesのコアサービスの後追いをする
原子的な更新をしないとダメなもの(etcd、cgroups、iptables、仮想ネットワークインタフェース、OSのストレージのマウントポイント)の動きに注目すればきれいに理解できる気はしているんだけど、この考え方はあってるんだろうか