第1章 OVN-Kubernetes ネットワークプラグインについて


OVN-Kubernetes Container Network Interface (CNI) プラグインは、MicroShift クラスターのデフォルトのネットワークソリューションです。OVN-Kubernetes は、Open Virtual Network (OVN) に基づく Pod およびサービス用の仮想化ネットワークです。

  • デフォルトのネットワーク設定と接続は、インストール中に microshift-networking RPM を使用して MicroShift に自動的に適用されます。
  • OVN-Kubernetes ネットワークプラグインを使用するクラスターは、ノードで Open vSwitch (OVS) も実行します。
  • OVN-K は、宣言されたネットワーク設定を実装するようにノードの OVS を設定します。
  • ホストの物理インターフェイスは、デフォルトでは OVN-K ゲートウェイブリッジ br-ex にバインドされません。Network Manager CLI (nmcli) など、ホスト上の標準ツールを使用してデフォルトゲートウェイを管理できます。
  • CNI の変更は MicroShift ではサポートされていません。

設定ファイルまたはカスタムスクリプトを使用して、次のネットワーク設定を設定できます。

  • サブネットの CIDR 範囲を使用して、Pod に IP アドレスを割り当てることができます。
  • 最大伝送単位 (MTU) 値を変更できます。
  • ファイアウォールの Ingress と Egress を設定できます。
  • MicroShift クラスターでは、Ingress ルールや Egress ルールなどのネットワークポリシーを定義できます。
  • MicroShift Multus プラグインを使用して、他の CNI プラグインをチェーンできます。
  • Ingress ルーターを設定または削除できます。

1.1. MicroShift ネットワーク設定マトリックス

次の表はネットワーク機能のステータスをまとめたものです。デフォルトとして存在する機能、設定可能な機能、MicroShift サービスで使用できない機能があります。

表1.1 MicroShift ネットワーク機能の概要
ネットワーク機能可用性設定のサポート

アドレスのアドバタイズ

はい

はい [1]

Kubernetes ネットワークポリシー

はい

はい

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

利用不可

該当なし

負荷分散

はい

はい

マルチキャスト DNS

はい

はい [2]

ネットワークプロキシー

はい [3]

CRI-O

ネットワークパフォーマンス

はい

MTU 設定

Egress IP

利用不可

該当なし

Egress ファイアウォール

利用不可

該当なし

Egress ルーター

利用不可

該当なし

ファイアウォール

いいえ [4]

はい

ハードウェアのオフロード

利用不可

該当なし

ハイブリッドネットワーク

利用不可

該当なし

クラスター内通信の IPsec 暗号化

利用不可

該当なし

IPv6

利用不可 [5]

該当なし

Ingress ルーター

はい

はい [6]

複数のネットワークプラグイン

はい

はい

  1. 設定されていない場合、デフォルト値はサービスネットワークのすぐ後のサブネットに設定されます。たとえば、サービスネットワークが 10.43.0.0/16 の場合、advertiseAddress は、10.44.0.0/32 に設定されます。
  2. マルチキャスト DNS プロトコル (mDNS) を使用することで、5353/UDP ポートで公開されているマルチキャストを使用した、ローカルエリアネットワーク (LAN) 内で名前解決とサービス検出が可能になります。
  3. MicroShift には、Egress トラフィックをプロキシーする、埋め込みの透過的機能はありません。Egress は手動で設定する必要があります。
  4. firewalld サービスのセットアップは、RHEL for Edge でサポートされています。
  5. IPv6 はサポートされていません。IPv6 は、MicroShift Multus CNI プラグインを使用して他のネットワークに接続することでのみ使用できます。
  6. MicroShift の config.yaml ファイルを使用して設定します。

1.1.1. デフォルトの設定

config.yaml ファイルを作成しない場合は、デフォルト値が使用されます。次の例は、デフォルトの設定を示しています。

  • デフォルト値を確認するには、次のコマンドを実行します。

    $ microshift show-config

    YAML 形式でのデフォルト値の出力例

    apiServer:
      advertiseAddress: 10.44.0.0/32 1
      auditLog:
        maxFileAge: 0 2
        maxFileSize: 200 3
        maxFiles: 10 4
        profile: Default 5
      namedCertificates:
        - certPath: ""
          keyPath: ""
          names:
            - ""
      subjectAltNames: [] 6
    debugging:
      logLevel: "Normal" 7
    dns:
      baseDomain: microshift.example.com 8
    etcd:
      memoryLimitMB: 0 9
    ingress:
      listenAddress:
        - "" 10
      ports: 11
        http: 80
        https: 443
      routeAdmissionPolicy:
        namespaceOwnership: InterNamespaceAllowed 12
      status: Managed 13
    manifests: 14
      kustomizePaths:
        - /usr/lib/microshift/manifests
        - /usr/lib/microshift/manifests.d/*
        - /etc/microshift/manifests
        - /etc/microshift/manifests.d/*
    network:
      clusterNetwork:
        - 10.42.0.0/16 15
      serviceNetwork:
        - 10.43.0.0/16 16
      serviceNodePortRange: 30000-32767 17
    node:
      hostnameOverride: "" 18
      nodeIP: "" 19

    1
    API サーバーがクラスターのメンバーにアドバタイズされる IP アドレスを指定する文字列。デフォルト値は、サービスネットワークのアドレスに基づいて計算されます。
    2
    ログファイルが自動的に削除されるまでの保存期間。maxFileAge パラメーターのデフォルト値 0 に設定すると、ログファイルが経過時間をベースに削除されなくなります。この値は設定可能です。
    3
    デフォルトでは、audit.log ファイルが maxFileSize の制限に達すると、audit.log ファイルがローテーションされ、MicroShift は新しい audit.log ファイルへの書き込みを開始します。この値は設定可能です。
    4
    保存されるログファイルの合計数。デフォルトでは、MicroShift は 10 個のログファイルを保持します。余分なファイルが作成されると、最も古いものが削除されます。この値は設定可能です。
    5
    読み取りおよび書き込み要求のメタデータのみをログに記録します。OAuth アクセストークン要求を除く要求の本文はログに記録されません。このフィールドを指定しない場合は、Default プロファイルが使用されます。
    6
    API サーバー証明書のサブジェクト代替名 (SAN)。
    7
    ログの詳細レベル。このフィールドの有効な値は、NormalDebugTrace、または TraceAll です。
    8
    デフォルトでは、etcd はシステムの負荷を処理するために必要な量のメモリーを使用します。ただし、メモリー制約のあるシステムでは、etcd が特定の時点で使用できるメモリーの量を制限することが望ましいか、または制限する必要がある場合があります。
    9
    クラスターのベースドメイン。管理されるすべての DNS レコードはこのベースのサブドメインです。
    10
    ingress.listenAddress の値は、デフォルトでホストのネットワーク全体に設定されます。有効な設定可能な値は、単一の IP アドレスまたは NIC 名、あるいは複数の IP アドレスと NIC 名のリストです。
    11
    デフォルトのポートが表示されます。設定可能です。両方のポートエントリーの有効な値は、1 - 65535 の範囲にある単一の一意のポートです。ports.http および ports.https フィールドの値は、同じにすることはできません。
    12
    複数の namespace のホスト名要求の処理方法を記述します。デフォルトでは、ルートが、複数の namespace においてホストが同じ名前でパスが異なる要求を許可します。有効な値は Strict および InterNamespaceAllowed です。Strict を指定すると、namespace が異なるルートが、同じホスト名を要求しなくなります。カスタマイズされた MicroShift の config.yaml で値が削除されると、InterNamespaceAllowed 値が自動的に設定されます。
    13
    デフォルトのルーターステータスは、Managed または Removed のいずれかになります。
    14
    マニフェストをロードするために使用する kustomization ファイルをスキャンするファイルシステム上の場所。パスのリストを設定すると、それらのパスのみをスキャンします。マニフェストの読み込みを無効にするには、空のリストに設定します。リスト内のエントリーは、複数のサブディレクトリーに一致する glob パターンに指定できます。
    15
    Pod IP アドレスの割り当てに使用する IP アドレスのブロック。このフィールドは、インストール後は不変です。
    16
    Kubernetes サービスの仮想 IP アドレスのブロック。サービスの IP アドレスプール。単一のエントリーがサポートされます。このフィールドは、インストール後は不変です。
    17
    NodePort タイプの Kubernetes サービスに許可されるポート範囲。指定しない場合、デフォルトの範囲の 30000-32767 が使用されます。NodePort が指定されていないサービスは、この範囲から自動的に割り当てられます。このパラメーターは、クラスターのインストール後に更新できます。
    18
    ノードの名前。デフォルト値はホスト名です。空でない場合、この文字列はホスト名ではなく、ノードを識別するために使用されます。MicroShift の初回起動後に、この不変設定を変更することはできません。
    19
    ノードの IP アドレス。デフォルト値は、デフォルトルートの IP アドレスです。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.