2.5. ネットワーク要件


OpenShift Container Platform の installer-provisioned installation には、複数のネットワーク要件があります。まず、installer-provisioned installation では、各ベアメタルノードにオペレーティングシステムをプロビジョニングするためのルーティング不可能な provisioning ネットワークをオプションで使用します。次に、installer-provisioned installation では、ルーティング可能な baremetal ネットワークを使用します。

installer-provisioned ネットワーク

2.5.1. 必須ポートが開いていることを確認する

クラスター間で特定のノードが開いてなければ、installer-provisioned によるインストールは正常に完了しません。ファーエッジワーカーノードに別のサブネットを使用する場合などの特定の状況では、これらのサブネット内のノードが、次の必須ポートで他のサブネット内のノードと通信できることを確認する必要があります。

表2.4 必須ポート
ポート説明

6768

プロビジョニングネットワークを使用する場合、クラスターノードは、ポート 67 および 68 を使用して、プロビジョニングネットワークインターフェイス経由で dnsmasq DHCP サーバーにアクセスします。

69

プロビジョニングネットワークを使用する場合、クラスターノードはプロビジョニングネットワークインターフェイスを使用してポート 69 で TFTP サーバーと通信します。TFTP サーバーはブートストラップ仮想マシン上で実行されます。ブートストラップ仮想マシンはプロビジョナーノード上で実行されます。

80

イメージキャッシュオプションを使用しない場合、または仮想メディアを使用する場合、プロビジョナーノードからクラスターノードに Red Hat Enterprise Linux CoreOS (RHCOS) イメージをストリーミングするには、プロビジョナーノードのポート 80baremetal マシンのネットワークインターフェイス上で開いている必要があります。

123

クラスターノードは、baremetal マシンネットワークを使用して、ポート 123 の NTP サーバーにアクセスする必要があります。

5050

Ironic Inspector API は、コントロールプレーンノード上で実行され、ポート 5050 でリッスンします。Inspector API は、ベアメタルノードのハードウェア特性に関する情報を収集するハードウェアイントロスペクションを担当します。

5051

ポート 5050 はポート 5051 をプロキシーとして使用します。

6180

仮想メディアを使用して TLS を使用せずにデプロイする場合、ワーカーノードのベースボード管理コントローラー (BMC) が RHCOS イメージにアクセスできるように、プロビジョナーノードとコントロールプレーンノードのポート 6180 は、baremetal マシンのネットワークインターフェイスで開いている必要があります。OpenShift Container Platform 4.13 以降、デフォルトの HTTP ポートは 6180 です。

6183

仮想メディアを使用して TLS でデプロイする場合、ワーカーノードの BMC が RHCOS イメージにアクセスできるように、プロビジョナーノードとコントロールプレーンノードのポート 6183 は、baremetal マシンのネットワークインターフェイスで開いている必要があります。

6385

Ironic API サーバーは、最初はブートストラップ仮想マシン上で実行され、その後はコントロールプレーンノード上で実行され、ポート 6385 でリッスンします。Ironic API を使用すると、クライアントは Ironic と対話して、新しいノードの登録、電源状態の管理、イメージのデプロイ、ハードウェアのクリーニングなどの操作を含むベアメタルノードのプロビジョニングと管理を行うことができます。

6388

ポート 6385 はポート 6388 をプロキシーとして使用します。

8080

TLS なしでイメージキャッシュを使用する場合、ポート 8080 がプロビジョナーノードで開いており、クラスターノードの BMC インターフェイスからアクセスできる必要があります。

8083

TLS ありでイメージキャッシュオプションを使用する場合、ポート 8083 がプロビジョナーノードで開いており、クラスターノードの BMC インターフェイスからアクセスできる必要があります。

9999

デフォルトでは、Ironic Python Agent (IPA) は、ポート 9999 で Ironic conductor サービスからの API 呼び出しを TCP リッスンします。IPA が実行されているベアメタルノードと Ironic conductor サービス間の通信には、このポートが使用されます。

2.5.2. ネットワーク MTU の増加

OpenShift Container Platform をデプロイする前に、ネットワークの最大伝送単位 (MTU) を 1500 以上に増やします。MTU が 1500 未満の場合、ノードの起動に使用される Ironic イメージが Ironic インスペクター Pod との通信に失敗し、検査が失敗する可能性があります。これが発生すると、インストールにノードを使用できないため、インストールが停止します。

2.5.3. NIC の設定

OpenShift Container Platform は、2 つのネットワークを使用してデプロイします。

  • provisioning: provisioning ネットワークは、OpenShift Container Platform クラスターの一部である基礎となるオペレーティングシステムを各ノードにプロビジョニングするために使用されるオプションのルーティング不可能なネットワークです。各クラスターノードの provisioning ネットワークのネットワークインターフェイスには、BIOS または UEFI が PXE ブートに設定されている必要があります。

    provisioningNetworkInterface 設定は、コントロールプレーンノード上の provisioning ネットワークの NIC 名を指定します。これは、コントロールプレーンノードと同じでなければなりません。bootMACAddress 設定は、provisioning ネットワーク用に各ノードで特定の NIC を指定する手段を提供します。

    provisioning ネットワークは任意ですが、PXE ブートには必要です。provisioning ネットワークなしでデプロイする場合、redfish-virtualmediaidrac-virtualmedia などの仮想メディア BMC アドレス指定オプションを使用する必要があります。

  • baremetal: baremetal ネットワークはルーティング可能なネットワークです。NIC が provisioning ネットワークを使用するように設定されていない場合には、baremetal ネットワークとのインターフェイスには任意の NIC を使用することができます。
重要

VLAN を使用する場合、それぞれの NIC は、適切なネットワークに対応する別個の VLAN 上にある必要があります。

2.5.4. DNS 要件

クライアントは、baremetal ネットワークで OpenShift Container Platform クラスターにアクセスします。ネットワーク管理者は、正規名の拡張がクラスター名であるサブドメインまたはサブゾーンを設定する必要があります。

<cluster_name>.<base_domain>

以下に例を示します。

test-cluster.example.com

OpenShift Container Platform には、クラスターメンバーシップ情報を使用して A/AAAA レコードを生成する機能が含まれます。これにより、ノード名が IP アドレスに解決されます。ノードが API に登録されると、クラスターは CoreDNS-mDNS を使用せずにこれらのノード情報を分散できます。これにより、マルチキャスト DNS に関連付けられたネットワークトラフィックがなくなります。

CoreDNS を正しく機能させるには、アップストリームの DNS サーバーへの TCP 接続と UDP 接続の両方が必要です。アップストリームの DNS サーバーが OpenShift Container Platform クラスターノードから TCP 接続と UDP 接続の両方を受信できることを確認します。

OpenShift Container Platform のデプロイメントでは、以下のコンポーネントに DNS 名前解決が必要です。

  • The Kubernetes API
  • OpenShift Container Platform のアプリケーションワイルドカード Ingress API

A/AAAA レコードは名前解決に使用され、PTR レコードは逆引き名前解決に使用されます。Red Hat Enterprise Linux CoreOS (RHCOS) は、逆引きレコードまたは DHCP を使用して、すべてのノードのホスト名を設定します。

installer-provisioned installation には、クラスターメンバーシップ情報を使用して A/AAAA レコードを生成する機能が含まれています。これにより、ノード名が IP アドレスに解決されます。各レコードで、<cluster_name> はクラスター名で、<base_domain> は、install-config.yaml ファイルに指定するベースドメインです。完全な DNS レコードは <component>.<cluster_name>.<base_domain>. の形式を取ります。

表2.5 必要な DNS レコード
コンポーネントレコード説明

Kubernetes API

api.<cluster_name>.<base_domain>.

A/AAAA レコードと PTR レコード。API ロードバランサーを識別します。これらのレコードは、クラスター外のクライアントおよびクラスター内のすべてのノードで解決できる必要があります。

ルート

*.apps.<cluster_name>.<base_domain>.

ワイルドカード A/AAAA レコードは、アプリケーションの Ingress ロードバランサーを参照します。アプリケーション Ingress ロードバランサーは、Ingress コントローラー Pod を実行するノードをターゲットにします。Ingress Controller Pod は、デフォルトでワーカーノードで実行されます。これらのレコードは、クラスター外のクライアントおよびクラスター内のすべてのノードで解決できる必要があります。

たとえば、console-openshift-console.apps.<cluster_name>.<base_domain> は、OpenShift Container Platform コンソールへのワイルドカードルートとして使用されます。

ヒント

digコマンドを使用して、DNS 解決を確認できます。

2.5.5. Dynamic Host Configuration Protocol (DHCP) の要件

デフォルトでは、installer-provisioned installation は、provisioning ネットワーク用に DHCP を有効にして ironic-dnsmasq をデプロイします。provisioningNetwork 設定が、デフォルト値の managed に設定されている場合、provisioning ネットワーク上で他の DHCP サーバーを実行することはできません。provisioning ネットワーク上で DHCP サーバーを実行している場合は、install-config.yaml ファイルで provisioningNetwork 設定を unmanaged に設定する必要があります。

ネットワーク管理者は、外部 DHCP サーバー上の baremetal ネットワーク用に、OpenShift Container Platform クラスター内の各ノードの IP アドレスを予約する必要があります。

2.5.6. DHCP サーバーを使用するノードの IP アドレスの確保

baremetal ネットワークの場合、ネットワーク管理者は、以下を含むいくつかの IP アドレスを予約する必要があります。

  1. 2 つの一意の仮想 IP アドレス。

    • API エンドポイントの 1 つの仮想 IP アドレス。
    • ワイルドカード Ingress エンドポイントの 1 つの仮想 IP アドレス
  2. プロビジョナーノードの 1 つの IP アドレス
  3. コントロールプレーンノードごとに 1 つの IP アドレス。
  4. 各ワーカーノードの 1 つの IP アドレス (適用可能な場合)
IP アドレスの予約し、それらを静的 IP アドレスにする

一部の管理者は、各ノードの IP アドレスが DHCP サーバーがない状態で一定になるように静的 IP アドレスの使用を選択します。NMState を使用して静的 IP アドレスを設定する場合は、「OpenShift インストールの環境のセットアップ」セクションの「ホストネットワークインターフェイスの設定 (オプション)」を参照してください。

外部ロードバランサーとコントロールプレーンノード間のネットワーク

外部の負荷分散サービスとコントロールプレーンノードは同じ L2 ネットワークで実行する必要があります。また、VLAN を使用して負荷分散サービスとコントロールプレーンノード間のトラフィックをルーティングする際に同じ VLAN で実行する必要があります。

重要

ストレージインターフェイスには、DHCP 予約または静的 IP が必要です。

以下の表は、完全修飾ドメイン名の具体例を示しています。API およびネームサーバーのアドレスは、正規名の拡張で始まります。コントロールプレーンおよびワーカーノードのホスト名は例であるため、任意のホストの命名規則を使用することができます。

使用法ホスト名IP

API

api.<cluster_name>.<base_domain>

<ip>

Ingress LB (アプリケーション)

*.apps.<cluster_name>.<base_domain>

<ip>

プロビジョナーノード

provisioner.<cluster_name>.<base_domain>

<ip>

Control-plane-0

openshift-control-plane-0.<cluster_name>.<base_domain>

<ip>

Control-plane-1

openshift-control-plane-1.<cluster_name>-.<base_domain>

<ip>

Control-plane-2

openshift-control-plane-2.<cluster_name>.<base_domain>

<ip>

Worker-0

openshift-worker-0.<cluster_name>.<base_domain>

<ip>

Worker-1

openshift-worker-1.<cluster_name>.<base_domain>

<ip>

Worker-n

openshift-worker-n.<cluster_name>.<base_domain>

<ip>

注記

DHCP 予約を作成しない場合、Kubernetes API ノード、プロビジョナーノード、コントロールプレーンノード、およびワーカーノードのホスト名を設定するために、インストールプログラムで逆引き DNS 解決が必要になります。

2.5.7. プロビジョナーノードの要件

インストール設定でプロビジョナーノードの MAC アドレスを指定する必要があります。通常、bootMacAddress 仕様は PXE ネットワークブートに関連付けられています。ただし、Ironic プロビジョニングサービスでは、クラスターの検査中またはクラスター内のノードの再デプロイ中にノードを識別するために、bootMacAddress 仕様も必要です。

プロビジョナーノードには、ネットワークの起動、DHCP と DNS の解決、およびローカルネットワーク通信のためのレイヤー 2 接続が必要です。プロビジョナーノードには、仮想メディアの起動にレイヤー 3 接続が必要です。

2.5.8. ネットワークタイムプロトコル (NTP)

クラスター内の各 OpenShift Container Platform ノードは NTP サーバーにアクセスできる必要があります。OpenShift Container Platform ノードは NTP を使用してクロックを同期します。たとえば、クラスターノードは検証を必要とする SSL/TLS 証明書を使用しますが、ノード間の日付と時刻が同期していないと、検証が失敗する可能性があります。

重要

各クラスターノードの BIOS 設定で一貫性のあるクロックの日付と時刻の形式を定義してください。そうしないと、インストールが失敗する可能性があります。

切断されたクラスター上で NTP サーバーとして機能するようにコントロールプレーンノードを再設定し、コントロールプレーンノードから時間を取得するようにワーカーノードを再設定することができます。

2.5.9. 帯域外管理 IP アドレスのポートアクセス

帯域外管理 IP アドレスは、ノードとは別のネットワーク上にあります。インストール中に帯域外管理がプロビジョナーノードと確実に通信できるようにするには、帯域外管理 IP アドレスに、プロビジョナーノードおよび OpenShift Container Platform コントロールプレーンノード上のポート 6180 へのアクセスを許可する必要があります。TLS ポート 6183 は、たとえば Redfish などを使用する仮想メディアのインストールに必要です。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.