過去問ドリル

LinuCレベル4 システムアーキテクト ネットワークとストレージの選定 問3

ネットワークとストレージの選定/拠点内のネットワーキング

複数ノードのKubernetesクラスタのコンテナネットワークを選定する。ノードは自社のL3ネットワークに接続されており、ラック上位のルーターとBGPで経路を交換できる。カプセル化によるオーバーヘッドを避けてPod間を直接ルーティングしたく、Pod間の通信をNetworkPolicyで制限する必要もある。最も適した構成はどれか。

当サイトのオリジナル問題(LinuCレベル4 システムアーキテクトの出題範囲「ネットワークとストレージの選定」に対応。実際の試験問題ではありません)

正解:D

解説

Calicoは、各ノードが担当するPodアドレスの経路をBGPで広告し、カプセル化せずにL3のルーティングでPod間の通信を転送できます。NetworkPolicyの実装も備えているため、この要件の両方を満たします。flannelはVXLANなどのオーバーレイで下位のネットワークに依存せず手軽に接続できるのが利点ですが、カプセル化のオーバーヘッドがあり、flannel自体はNetworkPolicyを実装しません。Docker SwarmのoverlayドライバもVXLANによるカプセル化で、Kubernetesのネットワークとは別の仕組みです。

選択肢ごとの解説

  • A誤り。下位のネットワークに手を入れずに済む点では有力ですが、カプセル化のオーバーヘッドを避けたい要件に合わず、flannel単体ではNetworkPolicyも使えません。
  • B誤り。Docker Swarmのoverlayドライバはホストをまたぐコンテナ間をVXLANで接続する仕組みで、Kubernetesのクラスタネットワークの選択肢ではなく、カプセル化も伴います。
  • C誤り。ポートの公開による接続ではPodが固有のアドレスで直接通信できず、Kubernetesのネットワークモデルを満たしません。
  • D正しい。BGPによる経路広告でカプセル化なしのルーティングができ、NetworkPolicyにも対応するCalicoが要件に合います。
LinuCレベル4 システムアーキテクトの問題を演習モードで解く