第16章 OVN-Kubernetes デフォルト CNI ネットワークプロバイダー


16.1. OVN-Kubernetes デフォルト Container Network Interface (CNI) ネットワークプロバイダーについて

OpenShift Container Platform クラスターは、Pod およびサービスネットワークに仮想化ネットワークを使用します。OVN-Kubernetes Container Network Interface (CNI) プラグインは、デフォルトのクラスターネットワークのネットワークプロバイダーです。OVN-Kubernetes は Open Virtual Network (OVN) をベースとしており、オーバーレイベースのネットワーク実装を提供します。OVN-Kubernetes ネットワークプロバイダーを使用するクラスターは、各ノードで Open vSwitch (OVS) も実行します。OVN は、宣言ネットワーク設定を実装するように各ノードで OVS を設定します。

16.1.1. OVN-Kubernetes の機能

OVN-Kubernetes Container Network Interface (CNI) クラスターネットワークプロバイダーは、以下の機能を実装します。

  • Open Virtual Network (OVN) を使用してネットワークトラフィックフローを管理します。OVN はコミュニティーで開発され、ベンダーに依存しないネットワーク仮想化ソリューションです。
  • ingress および egress ルールを含む Kubernetes ネットワークポリシーのサポートを実装します。
  • ノード間にオーバーレイネットワークを作成するには、VXLAN ではなく GENEVE (Generic Network Virtualization Encapsulation) プロトコルを使用します。

16.1.2. サポートされるデフォルトの CNI ネットワークプロバイダー機能マトリクス

OpenShift Container Platform は、OpenShift SDN と OVN-Kubernetes の 2 つのサポート対象のオプションをデフォルトの Container Network Interface (CNI) ネットワークプロバイダーに提供します。以下の表は、両方のネットワークプロバイダーの現在の機能サポートをまとめたものです。

表16.1 デフォルトの CNI ネットワークプロバイダー機能の比較
機能OVN-KubernetesOpenShift SDN

Egress IP

サポート対象

サポート対象

Egress ファイアウォール [1]

サポート対象

サポート対象

Egress ルーター

サポート対象 [2]

サポート対象

IPsec 暗号化

サポート対象

サポート対象外

IPv6

サポート対象 [3]

サポート対象外

Kubernetes ネットワークポリシー

サポート対象

一部サポート対象 [4]

Kubernetes ネットワークポリシーログ

サポート対象

サポート対象外

マルチキャスト

サポート対象

サポート対象

  1. egress ファイアウォールは、OpenShift SDN では egress ネットワークポリシーとしても知られています。これはネットワークポリシーの egress とは異なります。
  2. OVN-Kubernetes の egress ルーターはリダイレクトモードのみをサポートします。
  3. IPv6 はベアメタルクラスターでのみサポートされます。
  4. OpenShift SDN のネットワークポリシーは、egress ルールおよび一部の ipBlock ルールをサポートしません。

16.1.3. OVN-Kubernetes の制限

OVN-Kubernetes Container Network Interface (CNI) クラスターネットワークプロバイダーには以下の制限があります。

  • OVN-Kubernetes には、Kubernetes サービスの外部トラフィックポリシーまたは内部トラフィックポリシーを local に設定するサポートはありません。デフォルト値は cluster で、両方のパラメーターでサポートされます。この制限は、LoadBalancer タイプ、NodePort タイプのサービスを追加するか、外部 IP でサービスを追加する際に影響を受ける可能性があります。
  • sessionAffinityConfig.clientIP.timeoutSeconds サービスは、OpenShift OVN 環境では効果がありませんが、OpenShiftSDN 環境では効果があります。この非互換性により、OpenShiftSDN から OVN への移行が困難になる可能性があります。
  • デュアルスタックネットワークに設定されたクラスターでは、IPv4 と IPv6 の両方のトラフィックがデフォルトゲートウェイとして同じネットワークインターフェイスを使用する必要があります。この要件が満たされない場合には、ovnkube-node デーモンセットのホストにある Pod は、CrashLoopBackOff 状態になります。oc get pod -n openshift-ovn-kubernetes -l app=ovnkube-node -o yaml のようなコマンドで Pod を表示すると、以下の出力のように、status フィールドにデフォルトゲートウェイに関する複数のメッセージが表示されます。

    I1006 16:09:50.985852   60651 helper_linux.go:73] Found default gateway interface br-ex 192.168.127.1
    I1006 16:09:50.985923   60651 helper_linux.go:73] Found default gateway interface ens4 fe80::5054:ff:febe:bcd4
    F1006 16:09:50.985939   60651 ovnkube.go:130] multiple gateway interfaces detected: br-ex ens4

    唯一の解決策は、両方の IP ファミリーがデフォルトゲートウェイに同じネットワークインターフェイスを使用するように、ホストネットワークを再設定することです。

  • デュアルスタックネットワーク用に設定されたクラスターの場合、IPv4 と IPv6 の両方のルーティングテーブルにデフォルトゲートウェイが含まれている必要があります。この要件が満たされない場合には、ovnkube-node デーモンセットのホストにある Pod は、CrashLoopBackOff 状態になります。oc get pod -n openshift-ovn-kubernetes -l app=ovnkube-node -o yaml のようなコマンドで Pod を表示すると、以下の出力のように、status フィールドにデフォルトゲートウェイに関する複数のメッセージが表示されます。

    I0512 19:07:17.589083  108432 helper_linux.go:74] Found default gateway interface br-ex 192.168.123.1
    F0512 19:07:17.589141  108432 ovnkube.go:133] failed to get default gateway interface

    唯一の解決策として、両方の IP ファミリーにデフォルトゲートウェイが含まれるようにホストネットワークを再設定できます。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.