20.7. IPv4/IPv6 デュアルスタックネットワークへの変換


クラスター管理者は、IPv4 および IPv6 アドレスファミリーをサポートするデュアルネットワーククラスターネットワークに、IPv4 の単一スタッククラスターを変換できます。デュアルスタックネットワークに変換すると、新しい Pod と既存の Pod でデュアルスタックネットワークが有効になります。

重要

IPv6 を必要とするデュアルスタックネットワークを使用する場合、::FFFF:198.51.100.1 などの IPv4 にマッピングされた IPv6 アドレスは使用できません。

関連情報

  • デュアルスタックネットワークのプラットフォーム固有のサポートに関する詳細は、OVN-Kubernetes の目的 を参照してください。

20.7.1. デュアルスタッククラスターネットワークへの変換

クラスター管理者は、単一スタッククラスターネットワークをデュアルスタッククラスターネットワークに変換できます。

重要

デュアルスタックネットワークを使用するようにクラスターを変換した後、Pod が IPv6 アドレスを受け取るように、既存の Pod を再作成する必要があります。IPv6 アドレスは、新しい Pod にのみ割り当てられるためです。

シングルスタッククラスターネットワークをデュアルスタッククラスターネットワークに変換するには、パッチを作成し、それをクラスターのネットワークとインフラストラクチャーに適用します。installer-provisioned infrastructure 上で実行されるクラスターのデュアルスタッククラスターネットワークに変換できます。

注記

clusterNetworkserviceNetworkapiServerInternalIPs、および ingressIP オブジェクトを変更する各パッチ操作は、クラスターの再起動をトリガーします。MachineNetworks オブジェクトを変更しても、クラスターは再起動されません。

既存のデュアルスタック設定のクラスターに API および Ingress サービス用の IPv6 仮想 IP (VIP) を追加する必要がある場合は、クラスターのネットワークではなく、クラスターのインフラストラクチャーのみにパッチを適用する必要があります。

重要

クラスターを OpenShift Container Platform 4.16 以降にすでにアップグレードしていて、シングルスタッククラスターネットワークをデュアルスタッククラスターネットワークに変換する必要がある場合は、YAML 設定パッチファイルで、API および Ingress サービスの install-config.yaml ファイルから既存の IPv4 machineNetwork ネットワーク設定を指定する必要があります。この設定により、IPv4 トラフィックがデフォルトゲートウェイと同じネットワークインターフェイスに存在させることができます。

machineNetwork ネットワーク用に IPv4 アドレスブロックが追加された YAML 設定ファイルの例

- op: add
  path: /spec/platformSpec/baremetal/machineNetworks/- 1
  value: 192.168.1.0/24
  # ...

1
マシンが動作する machineNetwork ネットワークのアドレスブロックを指定していることを確認してください。マシンネットワークの API および Ingress の両方の IP アドレスを選択する必要があります。

前提条件

  • OpenShift CLI (oc) がインストールされている。
  • cluster-admin 権限を持つユーザーとしてクラスターにログインしている。
  • クラスターは OVN-Kubernetes ネットワークプラグインを使用します。
  • クラスターノードに IPv6 アドレスがある。
  • インフラストラクチャーに基づいて IPv6 対応ルーターを設定している。

手順

  1. クラスターおよびサービスネットワークの IPv6 アドレスブロックを指定するには、次の例のような設定を持つ YAML 設定パッチファイルを作成します。

    - op: add
      path: /spec/clusterNetwork/-
      value: 1
        cidr: fd01::/48
        hostPrefix: 64
    - op: add
      path: /spec/serviceNetwork/-
      value: fd02::/112 2
    1
    cidr および hostPrefix フィールドでオブジェクトを指定します。ホストの接頭辞は 64 以上である必要があります。IPv6Classless Inter-Domain Routing (CIDR) 接頭辞は、指定されたホスト接頭辞を対応できる大きさである必要があります。
    2
    接頭辞が 112 である IPv6 CIDR を指定します。Kubernetes は最低レベルの 16 ビットのみを使用します。接頭辞が 112 の場合、IP アドレスは 112 から 128 ビットに割り当てられます。
  2. CLI で次のコマンドを入力して、クラスターネットワーク設定にパッチを適用します。

    $ oc patch network.config.openshift.io cluster \1
      --type='json' --patch-file <file>.yaml
    1
    ここで、file は作成した YAML ファイルの名前を指定します。

    出力例

    network.config.openshift.io/cluster patched

  3. クラスターの API および Ingress サービスに IPv6 仮想 IP を指定します。次の例と同様の設定を含む YAML 設定パッチファイルを作成します。

    - op: add
      path: /spec/platformSpec/baremetal/machineNetworks/- 1
      value: fd2e:6f44:5dd8::/64
    - op: add
      path: /spec/platformSpec/baremetal/apiServerInternalIPs/- 2
      value: fd2e:6f44:5dd8::4
    - op: add
      path: /spec/platformSpec/baremetal/ingressIPs/-
      value: fd2e:6f44:5dd8::5
    1
    マシンが動作する machineNetwork ネットワークのアドレスブロックを指定していることを確認してください。マシンネットワークの API および Ingress の両方の IP アドレスを選択する必要があります。
    2
    プラットフォームに応じて各ファイルパスを指定してください。この例では、ベアメタルプラットフォーム上のファイルパスを示しています。
  4. CLI で次のコマンドを入力してインフラストラクチャーにパッチを適用します。

    $ oc patch infrastructure cluster \1
      --type='json' --patch-file <file>.yaml
    1
    ここで、file は作成した YAML ファイルの名前を指定します。

    出力例

    infrastructure/cluster patched

検証

  1. CLI で次のコマンドを入力して、クラスターネットワーク設定を表示します。

    $ oc describe network
  2. クラスターネットワーク設定が YAML ファイルで指定した IPv6 アドレスブロックを認識していることを確認し、ネットワーク設定へのパッチのインストールが正常に行われたことを確認します。

    出力例

    # ...
    Status:
      Cluster Network:
        Cidr:               10.128.0.0/14
        Host Prefix:        23
        Cidr:               fd01::/48
        Host Prefix:        64
      Cluster Network MTU:  1400
      Network Type:         OVNKubernetes
      Service Network:
        172.30.0.0/16
        fd02::/112
    # ...

  3. installer-provisioned infrastructure 上で実行されるクラスターに対して、次の追加タスクを完了します。

    1. CLI で次のコマンドを入力して、クラスターインフラストラクチャー設定を表示します。

      $ oc describe infrastructure
    2. YAML ファイルで指定した IPv6 アドレスブロックがインフラストラクチャーによって認識されるかどうかを確認して、クラスターインフラストラクチャーへのパッチのインストールが正常に行われたことを確認します。

      出力例

      # ...
      spec:
      # ...
        platformSpec:
          baremetal:
            apiServerInternalIPs:
            - 192.168.123.5
            - fd2e:6f44:5dd8::4
            ingressIPs:
            - 192.168.123.10
            - fd2e:6f44:5dd8::5
      status:
      # ...
        platformStatus:
          baremetal:
            apiServerInternalIP: 192.168.123.5
            apiServerInternalIPs:
            - 192.168.123.5
            - fd2e:6f44:5dd8::4
            ingressIP: 192.168.123.10
            ingressIPs:
            - 192.168.123.10
            - fd2e:6f44:5dd8::5
      # ...

20.7.2. 単一スタッククラスターネットワークへの変換

クラスター管理者は、デュアルスタッククラスターネットワークを単一スタッククラスターネットワークに変換できます。

前提条件

  • OpenShift CLI (oc) がインストールされている。
  • cluster-admin 権限を持つユーザーとしてクラスターにログインしている。
  • クラスターは OVN-Kubernetes ネットワークプラグインを使用します。
  • クラスターノードに IPv6 アドレスがある。
  • デュアルスタックネットワークを有効にしている。

手順

  1. 以下のコマンドを実行して、networks.config.openshift.io カスタムリソース (CR) を編集します。

    $ oc edit networks.config.openshift.io
  2. 前の手順で cidr および hostPrefix フィールドに追加した IPv6 固有の設定を削除します。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.