2.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) があります。

手順

  1. /etc/microshift/ ディレクトリーにある指定された config.yaml.default ファイルのコピーを作成し (まだ作成していない場合)、config.yaml という名前を付けます。
  2. 新しい MicroShift の config.yaml/etc/microshift/ ディレクトリーに保持します。config.yaml ファイルは、MicroShift サービスが起動するたびに読み取られます。

    注記

    これを作成すると、config.yaml ファイルは組み込み設定よりも優先されます。

  3. MicroShift を起動していない場合は、MicroShift YAML の network セクションのデフォルト値を有効な値に置き換えます。

    ネットワーク割り当てを使用したデュアルスタック IPv6 ネットワーク設定の例

    apiServer:
    # ...
    apiServer:
      subjectAltNames:
      - 192.168.113.117
      - 2001:db9:ca7:ff::1db8
    network:
      clusterNetwork:
      - 10.42.0.0/16
      - fd01::/48 1
      serviceNetwork:
      - 10.43.0.0/16
      - fd02::/112 2
    node:
      nodeIP: 192.168.113.117 3
      nodeIPv6: 2001:db9:ca7:ff::1db8 4
    # ...

    1
    64 未満の CIDR 値で IPv6 clusterNetwork を指定します。
    2
    接頭辞が 112 である IPv6 CIDR を指定します。Kubernetes は最低レベルの 16 ビットのみを使用します。接頭辞が 112 の場合、IP アドレスは 112 から 128 ビットに割り当てられます。
    3
    ノード IP アドレスの例: IPv4 アドレスファミリーである必要があります。
    4
    デュアルスタック設定のノード IP アドレスの例。IPv6 アドレスファミリーである必要があります。デュアルスタックネットワークでのみ設定できます。
  4. 必要なその他の MicroShift 設定を完了してから、次のコマンドを実行して MicroShift を起動します。

    $ sudo systemctl start microshift
  5. 必要に応じてアプリケーション Pod とサービスの IP ファミリーポリシーをリセットし、それらのアプリケーション Pod とサービスを再起動してデュアルスタックネットワークを有効化します。簡単な例については、「アプリケーション Pod およびサービスの IP ファミリーポリシーのリセット」を参照してください。

検証

  1. 次の手順に従って、すべてのシステムサービスと Pod に 2 つの IP アドレス (ファミリーごとに 1 つずつ) があることを確認できます。

    1. 次のコマンドを実行して、ノードリソースで定義されたネットワークを取得します。

      $ oc get pod -n openshift-ingress router-default-5b75594b4-w7w6s -o jsonpath='{.status.podIPs}'

      出力例

      [{"ip":"10.42.0.4"},{"ip":"fd01:0:0:1::4"}]

    2. 次のコマンドを実行して、ホストネットワーク Pod によって定義されたネットワークを取得します。

      $ oc get pod -n openshift-ovn-kubernetes ovnkube-master-2fm2k -o jsonpath='{.status.podIPs}'

      出力例

      [{"ip":"192.168.113.117"},{"ip":"2001:db9:ca7:ff::1db8"}]

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.