21.10. vSphere 上のクラスターの複数のリージョンとゾーンの設定
管理者は、VMware vSphere インスタンス上で実行される OpenShift Container Platform クラスターに複数のリージョンとゾーンを指定できます。この設定により、ハードウェアの障害やネットワークの停止によってクラスターに障害が発生するリスクが軽減されます。
障害ドメイン設定には、トポロジーを作成するパラメーターがリストされます。次のリストは、これらのパラメーターの一部を示しています。
-
computeCluster -
datacenter -
datastore -
networks -
resourcePool
OpenShift Container Platform クラスターに複数のリージョンとゾーンを定義した後、ノードを作成したり、別の障害ドメインにノードを移行したりできます。
既存の OpenShift Container Platform クラスターコンピュートノードを障害ドメインに移行する場合は、コンピュートノード用に新しいコンピューティングマシンセットを定義する必要があります。この新しいマシンセットは、障害ドメインのトポロジーに応じてコンピュートノードをスケールアップし、既存のコンピュートノードをスケールダウンできます。
クラウドプロバイダーは、マシンセットリソースによってプロビジョニングされたコンピュートノードに、topology.kubernetes.io/zone ラベルと topology.kubernetes.io/region ラベルを追加します。
詳細は、コンピュートマシンセットの作成 を参照してください。
21.10.1. vSphere 上のクラスターに複数のリージョンとゾーンを指定する リンクのコピーリンクがクリップボードにコピーされました!
infrastructures.config.openshift.io 設定リソースを設定して、VMware vSphere インスタンス上で実行される OpenShift Container Platform クラスターに複数のリージョンとゾーンを指定できます。
クラウドコントローラーマネージャーおよび vSphere Container Storage Interface (CSI) Operator Driver のトポロジー認識機能には、OpenShift Container Platform クラスターをホストする vSphere トポロジーに関する情報が必要です。このトポロジー情報は、infrastructors.config.openshift.io 設定リソースに存在します。
クラスターのリージョンとゾーンを指定する前に、クラウドプロバイダーがノードにラベルを追加できるように、すべてのデータセンターとコンピューティングクラスターにタグが含まれていることを確認する必要があります。たとえば、datacenter-1 が リージョン a を表し、compute-cluster-1 が zone-1 を表す場合、クラウドプロバイダーは、region-a の値を持つ openshift-region カテゴリーラベルを datacenter-1 に追加します。さらに、クラウドプロバイダーは、zone-1 の値を持つ openshift-zone カテゴリータグを compute-cluster-1 に追加します。
vMotion 機能を備えたコントロールプレーンノードを障害ドメインに移行できます。これらのノードを障害ドメインに追加すると、クラウドプロバイダーはこれらのノードに topology.kubernetes.io/zone ラベルと topology.kubernetes.io/region ラベルを追加します。
前提条件
-
vCenter サーバー上に
openshift-regionタグカテゴリーとopenshift-zoneタグカテゴリーを作成しました。 - 各データセンターとコンピューティングクラスターに、関連付けられたリージョンまたはゾーン、あるいはその両方の名前を表すタグが含まれていることを確認しました。
- オプション: API および Ingress 静的 IP アドレスをインストールプログラムに定義した場合は、すべてのリージョンとゾーンが共通のレイヤー 2 ネットワークを共有していることを確認する必要があります。この設定により、API および Ingress Virtual IP (VIP) アドレスがクラスターと対話できるようになります。
ノードを作成するかノードを移行する前に、すべてのデータセンターとコンピューティングクラスターにタグを提供しない場合、クラウドプロバイダーは、topology.kubernetes.io/zone ラベルと topology.kubernetes.io/region ラベルをノードに追加できません。これは、サービスがトラフィックをノードにルーティングできないことを意味します。
手順
次のコマンドを実行して、クラスターの
infrastructures.config.openshift.ioカスタムリソース定義 (CRD) を編集して、リソースのfailureDomainsセクションに複数のリージョンとゾーンを指定します。oc edit infrastructures.config.openshift.io cluster
$ oc edit infrastructures.config.openshift.io clusterCopy to Clipboard Copied! Toggle word wrap Toggle overflow 複数のリージョンおよびゾーンが設定で定義された
clusterという名前のインスタンスのinfrastructures.config.openshift.ioCRD の例Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重要障害ドメインを作成し、それを VMware vSphere クラスターの CRD で定義した後は、障害ドメインを変更または削除しないでください。この設定でこれらのアクションのいずれかを実行すると、コントロールプレーンマシンの可用性とフォールトトレランスに影響を与える可能性があります。
- リソースファイルを保存して変更を適用します。
21.10.2. クラスターで複数のレイヤー 2 ネットワークを有効にする リンクのコピーリンクがクリップボードにコピーされました!
ノード間のデータ転送が複数のネットワークにまたがるように、複数のレイヤー 2 ネットワーク設定を使用するようにクラスターを設定できます。
前提条件
- クラスターコンポーネントが相互に通信できるように、マシン間のネットワーク接続を設定しました。
手順
installer-provisioned infrastructure を使用してクラスターをインストールした場合は、すべてのコントロールプレーンノードが共通のレイヤー 2 ネットワークを共有していることを確認する必要があります。さらに、Ingress Pod スケジューリング用に設定されたコンピュートノードが共通のレイヤー 2 ネットワークを共有していることを確認します。
- 複数のレイヤー 2 ネットワークにまたがるコンピュートノードが必要な場合は、Ingress Pod をホストできるインフラストラクチャーノードを作成できます。
- 追加のレイヤー 2 ネットワークにわたってワークロードをプロビジョニングする必要がある場合は、vSphere 上にコンピューティングマシンセットを作成し、これらのワークロードをターゲットのレイヤー 2 ネットワークに移動できます。
ユーザーが提供したインフラストラクチャー (user-provisioned infrastructure として定義) にクラスターをインストールした場合は、ニーズを満たすために次のアクションを実行します。
- ロードバランサーがコントロールプレーンノード上の API およびマシン設定サーバーにアクセスできるように、API ロードバランサーとネットワークを設定します。
- ロードバランサーがコンピュートノードまたはインフラストラクチャーノード上の Ingress Pod に到達できるように、Ingress ロードバランサーとネットワークを設定します。
21.10.3. クラスター全体のインフラストラクチャー CRD のパラメーター リンクのコピーリンクがクリップボードにコピーされました!
VMware vSphere インスタンス上で実行される OpenShift Container Platform クラスターの複数のリージョンとゾーンを定義するには、クラスター全体のインフラストラクチャー、infrastructures.config.openshift.io、カスタムリソース定義 (CRD) の特定のパラメーターの値を設定する必要があります。
次の表に、OpenShift Container Platform クラスターの複数のリージョンとゾーンを定義するための必須パラメーターを示します。
| パラメーター | 説明 |
|---|---|
|
| OpenShift Container Platform クラスターの vCenter サーバー。クラスターに指定できる vCenter は 1 つだけです。 |
|
| OpenShift Container Platform クラスターに関連付けられた VM が作成されるか、現在存在する vCenter データセンター。 |
|
| vCenter サーバーの TCP ポート。 |
|
| vCenter サーバーの完全修飾ドメイン名 (FQDN)。 |
|
| 障害が発生したドメインのリスト。 |
|
| 障害ドメインの名前。 |
|
|
障害障害ドメインのトポロジーに割り当てられた |
|
|
障害障害ドメインのトポロジーに割り当てられた |
|
| 障害ドメインに関連付けられた vCenter リソース。 |
|
| 障害ドメインに関連付けられたデータセンター。 |
|
| 障害ドメインに関連付けられたコンピューティングクラスターのフルパス。 |
|
| 障害ドメインに関連付けられたリソースプールのフルパス。 |
|
| 障害ドメインに関連付けられたデータストアのフルパス。 |
|
| 障害ドメインに関連付けられたポートグループのリスト。定義できる portgroup は 1 つだけです。 |