10.5.10.2. VMware vSphere 障害ドメインの設定例
VMware vSphere の単一リージョンの障害によってアプリケーションがダウンタイムするのを防ぐには、コントロールプレーンマシンセットで障害ドメインを設定できます。障害ドメインを使用するには、ControlPlaneMachineSet カスタムリソース (CR) の failureDomains セクションで適切な値を設定します。
vSphere インフラストラクチャーでは、クラスター全体のインフラストラクチャーカスタムリソース定義 (CRD) である infrastructures.config.openshift.io によって、クラスターの障害ドメインが定義されます。障害ドメインは、コントロールプレーンマシンセット、vCenter データセンター、vCenter データストア、およびネットワークで構成されるインフラストラクチャーリソースです。ControlPlaneMachineSet カスタムリソース (CR) の providerSpec は、コントロールプレーンマシンセットが使用する障害ドメインの名前を指定し、コントロールプレーンノードが適切な障害ドメインにデプロイされるようにします。
障害ドメインリソースを使用すると、コントロールプレーンマシンセットを使用して、コントロールプレーンマシンを別のクラスターまたはデータセンターにデプロイできます。コントロールプレーンマシンセットは、定義された障害ドメイン全体でコントロールプレーンマシンのバランスを調整することで、インフラストラクチャーの耐障害性を向上させます。
ControlPlaneMachineSet CR の ProviderSpec 設定を変更すると、Control Plane Machine Set Operator は、設定された更新ストラテジーに従ってコントロールプレーンマシンを更新します。
VMware vSphere 障害ドメインの値の例
apiVersion: machine.openshift.io/v1
kind: ControlPlaneMachineSet
metadata:
name: cluster
namespace: openshift-machine-api
spec:
# ...
template:
# ...
machines_v1beta1_machine_openshift_io:
failureDomains:
vsphere:
- name: <failure_domain_name_1>
- name: <failure_domain_name_2>
platform: VSphere
# ...
ここでは、以下のようになります。
spec.template.machines_v1beta1_machine_openshift_io.failureDomains.vsphere.name名前の各インスタンスは、障害ドメインを指定します。重要スタンザ内の各
名前フィールドの値は、クラスター全体のインフラストラクチャー CRD のfailureDomains.nameフィールドの対応する値と一致している必要があります。次のコマンドを実行すると、failureDomains.nameフィールドの値を見つけることができます。$ oc get infrastructure cluster -o=jsonpath={.spec.platformSpec.vsphere.failureDomains[0].name}nameフィールドは、ControlPlaneMachineSetCR で指定できる、サポートされている唯一の障害ドメインフィールドです。各障害ドメインのリソースを定義するクラスター全体のインフラストラクチャー CRD の例は、「vSphere 上のクラスターに複数のリージョンとゾーンを指定する」を参照してください。
spec.template.machines_v1beta1_machine_openshift_io.failureDomains.platform- クラウドプロバイダーのプラットフォーム名を指定します。この値は変更しないでください。