コンテンツにスキップ

CNI@ネットワークアドオン

はじめに

本サイトにつきまして、以下をご認識のほど宜しくお願いいたします。


01. CNIアドオン

CNIアドオンとは

kubernetes_cni-plugin

CNIアドオンで選べるモードごとに異なる仕組みによって、Clusterネットワークを作成する。

また、Podに仮想NICを紐付け、Node内のネットワークのIPアドレスをPodの仮想NICに割り当てる。

これにより、PodをNode内のClusterネットワークに参加させ、異なるNode上のPod間を接続する。

CNIアドオンは、kubeletによるPodの起動時に有効化される。


CNIとCRIの関係


02. オーバーレイモード

オーバーレイモードとは

オーバーレイモードは、Podのネットワークインターフェース (eth) 、Nodeの仮想ネットワークインターフェース (veth) 、Nodeのブリッジ (cni) 、NATルーター (Cilium以外のCNIアドオンはiptables、CiliumアドオンはCilium) 、Nodeのネットワークインターフェース (eth) 、といったコンポーネントから構成される。

オーバーレイネットワークを使用して、Clusterネットワークを作成し、異なるNode上のPod間を接続する。

kubernetes_cni-addon_overlay-mode


アドオン例

  • calico-ipip (Kubeadmで推奨)
  • flannel-vxlan
  • Weave
  • Cilium


オーバーレイモードの仕組み

▼ 同一Node上のPod間通信

Podのネットワークインターフェース (eth) 、Nodeの仮想ネットワークインターフェース (veth) 、Nodeのブリッジ (cni) 、を使用して、同じNode上のPod間でパケットを送受信する。

kubernetes_cni-addon_overlay-mode_same-node

▼ 同一Node上のPod間通信

Podのネットワークインターフェース (eth) 、Nodeの仮想ネットワークインターフェース (veth) 、Nodeのブリッジ (cni) 、NATルーター (Cilium以外はiptables、Cilium) 、Nodeのネットワークインターフェース (eth) を使用して、異なるNode上のPod間でパケットを送受信する。

kubernetes_cni-addon_overlay-mode_diff-node


03. ルーティングモード

ルーティングモードとは

ルーティングテーブル (L3) を使用して、Clusterネットワークを作成し、異なるNode上のPod間を接続する。


アドオン例

  • calico-bgp (Kubeadmで推奨)
  • flannel-hostgw
  • sriov


04. アンダーレイモード

アンダーレイモードとは

アンダーレイネットワークを使用して、Clusterネットワークを作成し、異なるNode上のPod間を接続する。


アドオン例

  • Aliyun


05. AWSの独自モード

AWSの独自モードとは


アドオン例

  • aws-eks-vpc-cniアドオン (AWS EKSで推奨)


未分類のアドオン

  • Antrea
  • Multus
  • Whereabout