検索

21.10. VMware vSphere 上のクラスターの複数のリージョンとゾーンの設定

download PDF

管理者は、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 トポロジーに関する情報が必要です。このトポロジー情報は、infrastructures.config.openshift.io 設定リソースに存在します。

クラスターのリージョンとゾーンを指定する前に、クラウドプロバイダーがノードにラベルを追加できるように、すべてのデータセンターとコンピューティングクラスターにタグが含まれていることを確認する必要があります。たとえば、data-center-1region-a を表し、compute-cluster-1zone-1 を表す場合、クラウドプロバイダーは、region-a の値を持つ openshift-region カテゴリーラベルを data-center-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 ラベルをノードに追加できません。これは、サービスがトラフィックをノードにルーティングできないことを意味します。

手順

  1. 次のコマンドを実行して、クラスターの infrastructures.config.openshift.io カスタムリソース定義 (CRD) を編集して、リソースの failureDomains セクションに複数のリージョンとゾーンを指定します。

    $ oc edit infrastructures.config.openshift.io cluster

    複数のリージョンおよびゾーンが設定で定義された cluster という名前のインスタンスの infrastructures.config.openshift.io CRD の例

    spec:
      cloudConfig:
        key: config
        name: cloud-provider-config
      platformSpec:
        type: vSphere
        vsphere:
          vcenters:
            - datacenters:
                - <region_a_data_center>
                - <region_b_data_center>
              port: 443
              server: <your_vcenter_server>
          failureDomains:
            - name: <failure_domain_1>
              region: <region_a>
              zone: <zone_a>
              server: <your_vcenter_server>
              topology:
                datacenter: <region_a_dc>
                computeCluster: "</region_a_dc/host/zone_a_cluster>"
                resourcePool: "</region_a_dc/host/zone_a_cluster/Resources/resource_pool>"
                datastore: "</region_a_dc/datastore/datastore_a>"
                networks:
                - port-group
            - name: <failure_domain_2>
              region: <region_a>
              zone: <zone_b>
              server: <your_vcenter_server>
              topology:
                computeCluster: </region_a_dc/host/zone_b_cluster>
                datacenter: <region_a_dc>
                datastore: </region_a_dc/datastore/datastore_a>
                networks:
                - port-group
            - name: <failure_domain_3>
              region: <region_b>
              zone: <zone_a>
              server: <your_vcenter_server>
              topology:
                computeCluster: </region_b_dc/host/zone_a_cluster>
                datacenter: <region_b_dc>
                datastore: </region_b_dc/datastore/datastore_b>
                networks:
                - port-group
          nodeNetworking:
            external: {}
            internal: {}

    重要

    障害ドメインを作成し、それを VMware vSphere クラスターの CRD で定義した後は、障害ドメインを変更または削除しないでください。この設定でこれらのアクションのいずれかを実行すると、コントロールプレーンマシンの可用性とフォールトトレランスに影響を与える可能性があります。

  2. リソースファイルを保存して変更を適用します。

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 クラスターの複数のリージョンとゾーンを定義するための必須パラメーターを示します。

パラメーター説明

vcenters

OpenShift Container Platform クラスターの vCenter サーバー。クラスターに指定できる vCenter は 1 つだけです。

datacenters

OpenShift Container Platform クラスターに関連付けられた VM が作成されるか、現在存在する vCenter データセンター。

ポート

vCenter サーバーの TCP ポート。

server

vCenter サーバーの完全修飾ドメイン名 (FQDN)。

failureDomains

障害が発生したドメインのリスト。

name

障害ドメインの名前。

region

障害障害ドメインのトポロジーに割り当てられた openshift-region タグの値。

zone

障害障害ドメインのトポロジーに割り当てられた openshift-zone タグの値。

topology

障害ドメインに関連付けられた vCenter リソース。

datacenter

障害ドメインに関連付けられているデータセンター。

computeCluster

障害ドメインに関連付けられたコンピューティングクラスターのフルパス。

resourcePool

障害ドメインに関連付けられたリソースプールのフルパス。

datastore

障害ドメインに関連付けられたデータストアのフルパス。

networks

障害ドメインに関連付けられたポートグループのリスト。定義できる portgroup は 1 つだけです。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.