10.3. ネットワークの最適化
OVN-Kubernetes は、Geneve に似たプロトコルである Generic Network Virtualization Encapsulation (Geneve) を使用して、ノード間のトラフィックをトンネリングします。このネットワークは、ネットワークインターフェイスコントローラー (NIC) オフロードを使用して調整できます。
Geneve は、ネットワークを 4096 から 1600 万以上に増加したり、物理ネットワーク全体でレイヤー 2 接続を実現したりするなど、VLAN を超える利点を提供します。これにより、異なるシステム上で実行されている場合でも、サービスの背後にある Pod すべてが相互に通信できるようになります。
Geneve は、User Datagram Protocol (UDP) パケットにトンネル化されたトラフィックをすべてカプセル化します。ただし、これにより CPU 使用率が上昇してしまいます。これらの外部および内部パケットはどちらも、移動中にデータが破損しないように通常のチェックサムルールの対象になります。CPU のパフォーマンスによっては、この追加の処理オーバーヘッドによってスループットが減り、従来の非オーバーレイネットワークと比較してレイテンシーが高くなります。
クラウド、仮想マシン、ベアメタルの CPU パフォーマンスでは、1 Gbps をはるかに超えるネットワークスループットを処理できます。10 または 40 Gbps などの高い帯域幅のリンクを使用する場合には、パフォーマンスが低減する場合があります。これは、Geneve ベースの環境では既知の問題で、コンテナーや OpenShift Container Platform 固有の問題ではありません。Geneve または VXLAN トンネルに依存するネットワークは、トンネルの実装により同様に動作します。
1 Gbps 以上にするには、以下を実行してください。
- Border Gateway Protocol (BGP) など、異なるルーティング技術を実装するネットワークプラグインを評価する。
- Geneve オフロード対応ネットワークアダプターを使用します。Geneve オフロードは、システムの CPU から、パケットのチェックサム計算と関連の CPU オーバーヘッドを、ネットワークアダプター上の専用のハードウェアに移動します。これにより、CPU サイクルを Pod やアプリケーションで使用できるように開放し、ネットワークインフラストラクチャーの帯域幅すべてをユーザーは活用できるようになります。
Geneve オフロードではレイテンシーは短縮されません。ただし、CPU の使用率はレイテンシーテストでも削減されます。
10.3.1. ネットワークでの MTU の最適化
重要な Maximum Transmission Unit (MTU) が 2 つあります。1 つはネットワークインターフェイスコントローラー (NIC) MTU で、もう 1 つはクラスターネットワーク MTU です。
NIC MTU は OpenShift Container Platform のインストール時にのみ設定されます。MTU は、お使いのネットワークの NIC でサポートされる最大の値以下でなければなりません。スループットを最適化する場合は、可能な限り大きい値を選択します。レイテンシーを最低限に抑えるために最適化するには、より小さい値を選択します。
OVN および Geneve については、MTU は最低でも NIC MTU より 100 バイト少なくなければなりません。
10.3.2. 大規模なクラスターのインストールに推奨されるプラクティス
大規模なクラスターをインストールする場合や、クラスターを大規模なノード数に拡張する場合、クラスターをインストールする前に、install-config.yaml
ファイルに適宜クラスターネットワーク cidr
を設定します。
networking: clusterNetwork: - cidr: 10.128.0.0/14 hostPrefix: 23 machineNetwork: - cidr: 10.0.0.0/16 networkType: OVNKubernetes serviceNetwork: - 172.30.0.0/16
クラスターのサイズが 500 を超える場合、デフォルトのクラスターネットワーク cidr
10.128.0.0/14
を使用することはできません。500 ノードを超えるノード数にするには、10.128.0.0/12
または 10.128.0.0/10
に設定する必要があります。
10.3.3. IPsec の影響
ノードホストの暗号化、復号化に CPU 機能が使用されるので、使用する IP セキュリティーシステムにかかわらず、ノードのスループットおよび CPU 使用率の両方でのパフォーマンスに影響があります。
IPSec は、NIC に到達する前に IP ペイロードレベルでトラフィックを暗号化して、NIC オフロードに使用されてしまう可能性のあるフィールドを保護します。つまり、IPSec が有効な場合には、NIC アクセラレーション機能を使用できない場合があり、スループットの減少、CPU 使用率の上昇につながります。