3.10.6. デュアルスタックネットワークを使用したクラスターの設定
Red Hat OpenStack Platform (RHOSP) 上で、IPv4 と IPv6 の両方のアドレス指定を使用するクラスターをデプロイします。RHOSP 17.1 以降、シングルスタックの IPv6 インフラストラクチャーを使用しながら、クラスター内部で IPv4 接続を提供することが可能になりました。
RHOSP 上にデュアルスタッククラスターを作成できます。
RHOSP 17.1 では、シングルスタックの IPv6 RHOSP インフラストラクチャー上に、デュアルスタックの OpenShift Container Platform クラスターをデプロイできます。OpenShift Container Platform クラスターは、基盤となる RHOSP ネットワークに IPv6 サブネットしかない場合でも、内部的に IPv4 接続を提供します。
RHOSP の以前のバージョンでは、IPv4 と IPv6 のサブネットを持つ RHOSP ネットワークを使用している場合にのみ、デュアルスタック設定を有効化できます。
RHOSP は、IPv4 シングルスタッククラスターからデュアルスタッククラスターネットワークへの変換をサポートしていません。
3.10.6.1. デュアルスタッククラスターの導入 リンクのコピーリンクがクリップボードにコピーされました!
デュアルスタックネットワークと仮想 IP を作成し、install-config.yaml ファイルを編集して、Red Hat OpenStack Platform (RHOSP) 上で、IPv4 と IPv6 の両方のアドレス指定を使用するクラスターをデプロイします。
手順
必要なサブネットを持つネットワークを作成します。
-
RHOSP 17.1 では、IPv6 サブネットを持つネットワークを作成できます。OpenShift Container Platform クラスターは、内部的に IPv4 接続を提供します。
install-config.yamlファイルでは、controlPlanePort.fixedIPsセクションで IPv4 と IPv6 の両方のサブネットを指定します。 RHOSP の以前のバージョンでは、IPv4 と IPv6 の両方のサブネットを含むネットワークを作成します。
ipv6-ra-modeおよびipv6-address-modeフィールドで使用可能なアドレスモードは、dhcpv6-stateful、dhcpv6-stateless、およびslaacです。注記デュアルスタックネットワークの MTU は、IPv6 の最小 MTU である 1280 と、OVN-Kubernetes のカプセル化要件である 100 バイトの両方に対応する必要があります。
注記DHCP はサブネット上で有効にする必要があります。
-
RHOSP 17.1 では、IPv6 サブネットを持つネットワークを作成できます。OpenShift Container Platform クラスターは、内部的に IPv4 接続を提供します。
- API ポートと Ingress VIP ポートを作成します。
- IPv6 サブネットをルーターに追加して、ルーターのアドバタイズメントを有効にします。プロバイダーネットワークを使用している場合は、ネットワークを外部ゲートウェイとして追加することでルーターのアドバタイズメントを有効にすることができ、これにより外部接続も有効になります。
クラスターノードの IPv4 および IPv6 アドレスエンドポイントを設定するには、
install-config.yamlファイルを編集します。以下は、install-config.yamlファイルの例です。install-config.yamlの例apiVersion: v1 baseDomain: mydomain.test compute: - name: worker platform: openstack: type: m1.xlarge replicas: 3 controlPlane: name: master platform: openstack: type: m1.xlarge replicas: 3 metadata: name: mycluster networking: machineNetwork: - cidr: "192.168.25.0/24" - cidr: "fd2e:6f44:5dd8:c956::/64" clusterNetwork: - cidr: 10.128.0.0/14 hostPrefix: 23 - cidr: fd01::/48 hostPrefix: 64 serviceNetwork: - 172.30.0.0/16 - fd02::/112 platform: openstack: ingressVIPs: ['192.168.25.79', 'fd2e:6f44:5dd8:c956:f816:3eff:fef1:1bad'] apiVIPs: ['192.168.25.199', 'fd2e:6f44:5dd8:c956:f816:3eff:fe78:cf36'] controlPlanePort: fixedIPs: - subnet: name: subnet-v4 id: subnet-v4-id - subnet: name: subnet-v6 id: subnet-v6-id network: name: dualstack id: network-id-
networking.machineNetwork、networking.clusterNetwork、およびnetworking.serviceNetworkは、IPv4 および IPv6 アドレスファミリーの両方の IP アドレス範囲を指定します。シングルスタック IPv6 インフラストラクチャー上の RHOSP 17.1 デプロイメントの場合、OpenShift Container Platform クラスターは内部的に IPv4 接続を提供します。 -
platform.openstack.ingressVIPsは、Ingress 仮想 IP サービスがクラスターへのインターフェイスを提供するための仮想 IP (VIP) アドレスのエンドポイントを指定します。 -
platform.openstack.apiVIPsは、API 仮想 IP サービスがクラスターへのインターフェイスを提供するための仮想 IP (VIP) アドレスのエンドポイントを指定します。 -
platform.openstack.controlPlanePortは、クラスター全体のすべてのノードが使用するデュアルスタックネットワークの詳細を指定します。 -
platform.openstack.controlPlanePort.fixedIPsは、コントロールプレーンポートのサブネットを指定します。このフィールドで指定するサブネットの CIDR は、networking.machineNetworkにリストされている CIDR と一致する必要があります。 -
platform.openstack.controlPlanePort.fixedIPs[].subnetは各サブネットを指定します。nameまたはidのいずれか、または両方の値を指定できます。 platform.openstack.controlPlanePort.networkはネットワークを指定します。controlPlanePortフィールドでのnetworkの指定は任意です。注記シングルスタック IPv6 インフラストラクチャー上の RHOSP 17.1 デプロイメントの場合、デュアルスタックの OpenShift Container Platform クラスターをデプロイできます。
install-config.yamlファイルで、クラスターネットワークとサービスネットワークに対して、IPv4 と IPv6 の両方のアドレス範囲を指定します。OpenShift Container Platform クラスターは、基盤となる RHOSP ネットワークに IPv6 サブネットしかない場合でも、内部的に IPv4 接続を提供します。controlPlanePort.fixedIPsセクションで、IPv4 サブネットおよび IPv6 サブネットの両方を指定します。あるいは、IPv6 プライマリーデュアルスタッククラスターが必要な場合は、以下の例に従って
install-config.yamlファイルを編集します。install-config.yamlの例apiVersion: v1 baseDomain: mydomain.test compute: - name: worker platform: openstack: type: m1.xlarge replicas: 3 controlPlane: name: master platform: openstack: type: m1.xlarge replicas: 3 metadata: name: mycluster networking: machineNetwork: - cidr: "fd2e:6f44:5dd8:c956::/64" - cidr: "192.168.25.0/24" clusterNetwork: - cidr: fd01::/48 hostPrefix: 64 - cidr: 10.128.0.0/14 hostPrefix: 23 serviceNetwork: - fd02::/112 - 172.30.0.0/16 platform: openstack: ingressVIPs: ['fd2e:6f44:5dd8:c956:f816:3eff:fef1:1bad', '192.168.25.79'] apiVIPs: ['fd2e:6f44:5dd8:c956:f816:3eff:fe78:cf36', '192.168.25.199'] controlPlanePort: fixedIPs: - subnet: name: subnet-v6 id: subnet-v6-id - subnet: name: subnet-v4 id: subnet-v4-id network: name: dualstack id: network-id-
networking.machineNetwork、networking.clusterNetwork、およびnetworking.serviceNetworkは、IPv4 および IPv6 アドレスファミリーの両方の IP アドレス範囲を指定します。シングルスタック IPv6 インフラストラクチャー上の RHOSP 17.1 デプロイメントの場合、OpenShift Container Platform クラスターは内部的に IPv4 接続を提供します。 -
platform.openstack.ingressVIPsは、Ingress 仮想 IP サービスがクラスターへのインターフェイスを提供するための仮想 IP (VIP) アドレスのエンドポイントを指定します。 -
platform.openstack.apiVIPsは、API 仮想 IP サービスがクラスターへのインターフェイスを提供するための仮想 IP (VIP) アドレスのエンドポイントを指定します。 -
platform.openstack.controlPlanePortは、クラスター全体のすべてのノードが使用するデュアルスタックネットワークの詳細を指定します。 -
platform.openstack.controlPlanePort.fixedIPsは、コントロールプレーンポートのサブネットを指定します。このフィールドで指定するサブネットの CIDR は、networking.machineNetworkにリストされている CIDR と一致する必要があります。 -
platform.openstack.controlPlanePort.fixedIPs[].subnetは各サブネットを指定します。nameまたはidのいずれか、または両方の値を指定できます。 -
platform.openstack.controlPlanePort.networkはネットワークを指定します。controlPlanePortフィールドでのnetworkの指定は任意です。
-
隔離されたデュアルスタックネットワークでインストールホストを使用する場合、再起動時に IPv6 アドレスが正しく再割り当てされない場合があります。
Red Hat Enterprise Linux (RHEL) 8 でこの問題を解決するには、/etc/NetworkManager/system-connections/required-rhel8-ipv6.conf という名前のファイルを作成し、以下の設定を記述します。
[connection]
type=ethernet
[ipv6]
addr-gen-mode=eui64
method=auto
RHEL 9 でこの問題を解決するには、/etc/NetworkManager/conf.d/required-rhel9-ipv6.conf という名前のファイルを作成し、以下の設定を記述します。
[connection]
ipv6.addr-gen-mode=0
ファイルを作成して編集したら、インストールホストを再起動します。
すべてのノードに設定される ip=dhcp,dhcp6 カーネル引数により、複数のインターフェイスで同時にアクティブとなる単一の Network Manager 接続プロファイルが生成されます。この動作により、追加されたすべてのネットワークに対して、同じ UUID を持つ同一の接続が強制的に適用されます。インターフェイス固有の設定が必要な場合は、そのインターフェイス用の新しい接続プロファイルを作成して、デフォルトの接続が適用されないようにしてください。