Kubernetes 解体新書

Part 2

ネットワーク

Docker のブリッジから、3 つのネットワーク、CNI、Service、Gateway API まで。

10 章称号: パケットの行き先を視る者

  1. 01Docker のネットワークDocker Compose の Web アプリを例に、コンテナ同士の通信と、外部からの通信の経路を追います。L1 Web ターミナル
  2. 02Docker なしでコンテナのネットワークを作る分離したネットワークを作り、仮想のケーブルでつなぎます。設定を足すたびに通信がどう変わるか確かめます。L2 ノードの中
  3. 03Docker と Kubernetes のネットワークは何が違うのか別々のノードで動く Pod 同士は、どう通信するのでしょうか。ノード、Pod、Service の IP の役割を整理します。L1 Web ターミナル
  4. 04Pod に NIC と IP を渡すプラグインPod に IP アドレスを付け、通信できる状態にするのは誰でしょうか。ネットワークプラグインの仕事を追います。L2 ノードの中
  5. 05Service と ClusterIP: 宛先はどこで書き換わるのかPod が入れ替わっても、同じ宛先へ接続できる。Service の入口から実際の Pod へ、通信が届く仕組みを確かめます。L2 ノードの中
  6. 06パケットの旅: ELB から別ノードの Pod までロードバランサーから Pod まで、通信を 1 段ずつ追います。宛先や送信元の IP が変わる場所を見つけます。L1 Web ターミナル
  7. 07kube-proxy の世代交代と eBPF通信の転送ルールを調べる処理と、更新する処理。規模が大きくなるときの負担を、実装ごとに比べます。L0 ブラウザだけ
  8. 08LB から Pod へ直接送るロードバランサーから Pod へ直接送るには何が必要でしょうか。AWS と Google Cloud の構成で確かめます。L0 ブラウザだけ
  9. 09ELB を作るのは誰かService の設定を読み、ロードバランサーを作る担当を追います。外部アドレスが決まらない場合も観察します。L1 Web ターミナル
  10. 10Ingress の次の HTTP 入口URL に応じてアプリへ通信を振り分けます。Ingress と Gateway API の違いを見て、自分のルールを作ります。L1 Web ターミナル