4.3. MicroShift 起動前の IPv6 デュアルスタックネットワークの設定
サービスを開始する前に設定ファイルを使用して、IPv4 および IPv6 アドレスファミリーをサポートするデュアルスタックネットワークで実行するように MicroShift ノードを設定できます。
- 設定の最初の IP ファミリーは、ノードのプライマリー IP スタックです。
- ノードがデュアルスタックネットワークで実行された後に、それらを再起動して、デュアルスタック用のアプリケーション Pod およびアドオンサービスを有効にします。
OVN-Kubernetes ネットワークプラグインでは、IPv4 と IPv6 の両方のデフォルトルートが同じネットワークデバイスに存在する必要があります。別のネットワークデバイス上の IPv4 および IPv6 のデフォルトルートはサポートされていません。
IPv6 を必要とするデュアルスタックネットワークを使用する場合、::FFFF:198.51.100.1 などの IPv4 にマッピングされた IPv6 アドレスは使用できません。
前提条件
-
OpenShift CLI (
oc) がインストールされている。 - ノードへの root アクセス権限がある。
- ノードが OVN-Kubernetes ネットワークプラグインを使用している。
- ホストには、それぞれのデフォルトを含む、IPv4 と IPv6 の両方のアドレスとルートがあります。
- ホストには、少なくとも 2 つの L3 ネットワーク (IPv4 と IPv6) があります。
手順
-
/etc/microshift/ディレクトリーにある指定されたconfig.yaml.defaultファイルのコピーを作成し (まだ作成していない場合)、config.yamlという名前を付けます。 新しい MicroShift の
config.yamlを/etc/microshift/ディレクトリーに保持します。config.yamlファイルは、MicroShift サービスが起動するたびに読み取られます。注記これを作成すると、
config.yamlファイルは組み込み設定よりも優先されます。MicroShift を起動していない場合は、MicroShift YAML の
networkセクションのデフォルト値を有効な値に置き換えます。ネットワーク割り当てを使用したデュアルスタック IPv6 ネットワーク設定の例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 必要なその他の MicroShift 設定を完了してから、次のコマンドを実行して MicroShift を起動します。
sudo systemctl start microshift
$ sudo systemctl start microshiftCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 必要に応じてアプリケーション Pod とサービスの IP ファミリーポリシーをリセットし、それらのアプリケーション Pod とサービスを再起動してデュアルスタックネットワークを有効化します。簡単な例は、「アプリケーション Pod およびサービスの IP ファミリーポリシーのリセット」を参照してください。
検証
次の手順に従って、すべてのシステムサービスと Pod に 2 つの IP アドレス (ファミリーごとに 1 つずつ) があることを確認できます。
次のコマンドを実行して、ノードリソースで定義されたネットワークを取得します。
oc get pod -n openshift-ingress router-default-5b75594b4-w7w6s -o jsonpath='{.status.podIPs}'$ oc get pod -n openshift-ingress router-default-5b75594b4-w7w6s -o jsonpath='{.status.podIPs}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
[{"ip":"10.42.0.4"},{"ip":"fd01:0:0:1::4"}][{"ip":"10.42.0.4"},{"ip":"fd01:0:0:1::4"}]Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、ホストネットワーク Pod によって定義されたネットワークを取得します。
oc get pod -n openshift-ovn-kubernetes ovnkube-master-2fm2k -o jsonpath='{.status.podIPs}'$ oc get pod -n openshift-ovn-kubernetes ovnkube-master-2fm2k -o jsonpath='{.status.podIPs}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
[{"ip":"192.168.113.117"},{"ip":"2001:db9:ca7:ff::1db8"}][{"ip":"192.168.113.117"},{"ip":"2001:db9:ca7:ff::1db8"}]Copy to Clipboard Copied! Toggle word wrap Toggle overflow