コンテナのネットワークインターフェースの選択
仮想プライベートクラウド
コンテナネットワークインターフェース(CNI)を選択する際は、以下の情報を確認してください。
IBM Cloud Kubernetes Service のバージョン 4.20 以降では、 Calico がデフォルトのCNIとなっていますが、RHCOSワーカーノードを使用するVPCクラスターでは、クラスターのCNIとしてOpen Virtual Network (OVN) を選択するオプションがあります。
- Calico デフォルト
- Calico これは、クラウド、オンプレミス、エッジのいずれにおいても、あらゆる Kubernetes ディストリビューション向けの、ネットワーキング、ネットワークセキュリティ、および可観測性を実現する単一のプラットフォームです。 Kubernetes を導入したばかりの方でも、大規模に運用している方でも、 Calico のオープンソース版、エンタープライズ版、クラウド版は、お客様が必要とするネットワーク機能、セキュリティ、可観測性を提供します。 詳細については、 Calico のドキュメントを参照してください。
- OVN - Kubernetes (OVN) 4.20 およびそれ以降のバージョン RHCOS ワーカーノードのみ
- OVN- Kubernetes は、Open Virtual Network(OVN)を基盤としており、オーバーレイ方式のネットワーク実装を提供します。 OVN- Kubernetes プラグインを使用するクラスターでは、各ノード上でOpen vSwitch (OVS)も実行されます。 OVNは、宣言されたネットワーク構成を実装するために、各ノード上でOVSを設定します。 詳細については、『 Red Hat 』のドキュメントを参照してください
Calico とOVNの比較
以下の表を確認し、 Calico とOVNの機能や特長を比較してください。
OVN を使用する際は、VPC のサブネットが、以下の表に指定されている追加のサブネットと重複しないようにする必要があります。 サブネットの重複がある場合、Pod間のネットワーク通信は失敗します。
Layer2 また、 layer3 のユーザー定義ネットワーク(UDN)は、 OpenShift Virtualizationの仮想マシンなど、DHCPを使用するワークロードではサポートされていません。
| コンポーネント | Calico | OVN- Kubernetes |
|---|---|---|
| カプセル化 |
|
|
| デフォルトのクラスタネットワーク/ポッドのMTU | デフォルトでは1480バイト(20バイトの IPinIP ヘッダーを含む)。 これは変更可能です。 | デフォルトでは1400バイト(100バイトのGeneveヘッダーを含む)。 これは変更可能です。 Daemonsetでは、単に ip link set dev ens3 mtu`` を実行するだけでなく、NetworkManager ファイルを作成する必要があります。 また、新しいワーカーノードも再起動する必要があります。 |
| Pod IPAM | Calico 当初、新しいノードごとに /26 サブネット(64 個の IP アドレス。通常、少なくとも 1 個は tunl0 の IP アドレスとして使用され、残りはポッド用に利用可能)が割り当てられます。 /26 サブネット内のすべてのポッド IP アドレスが使用された場合、 Calico は、そのノードに 2 つ目の /26 サブネットを割り当て、必要に応じてさらに多くのサブネットを割り当てます。 calicoctl ipam check を使用すると、各ノードに割り当てられたサブネットを確認できます。 |
OVNは、新しいクラスターノードごとに、最初に/24のポッドサブネット(256個のIPアドレス)を割り当てます。 ポッドのサブネットをこれ以上追加するオプションはありません。 また、新しいノードごとにジョインサブネットのIPアドレスを割り当て、これはOVN内部で使用されます |
| ポッド間ルーティング |
|
|
| Kubernetes ネットワーク・ポリシー |
|
|
| ホストネットワークポリシー | Calico GlobalNetworkPolicies | なし |
| 追加のサブネット | なし |
|
| APIサーバーの監視 |
|
|
| CNI | calico および calico-ipam の CNI バイナリは、 calico-node ポッド上の install-cni initContainer によって各ノードにコピーされます。 |
ovnkube-node ポッドの ovnkube-controller コンテナは、addおよびdeleteの呼び出しに対してCNIバイナリを実行します。 |
| リソースが作成されました |
|
|
| ポッド間の接続 |
|
|