2.2.4. 障害ドメイン全体へのコンピュートマシンの分散
次のいずれかの方法で、Nutanix 障害ドメイン全体にコンピュートマシンを分散できます。
- 既存のコンピュートマシンセットを編集 すると、設定更新を最小限に抑えながら、Nutanix 障害ドメイン全体にコンピュートマシンを分散できます。
- 既存のコンピュートマシンセットを置き換える と、仕様をイミュータブルにして、すべてのマシンを確実に同じにすることができます。
2.2.4.1. コンピュートマシンセットの編集による障害ドメインの実装 リンクのコピーリンクがクリップボードにコピーされました!
既存のコンピュートマシンセットを使用して Nutanix 障害ドメイン全体にコンピュートマシンを分散するには、設定でコンピュートマシンセットを更新し、スケーリングを使用して既存のコンピュートマシンを置き換えます。
前提条件
- クラスターのインフラストラクチャーカスタムリソース (CR) で障害ドメインを設定している。
手順
次のコマンドを実行して、クラスターのインフラストラクチャー CR を表示します。
$ oc describe infrastructures.config.openshift.io cluster-
各障害ドメイン (
platformSpec.nutanix.failureDomains) について、クラスターの UUID、名前、サブネットオブジェクト UUID をメモします。これらの値は、障害ドメインをコンピュートマシンセットに追加するために必要です。 以下のコマンドを実行して、クラスター内のコンピュートマシンセットを一覧表示します。
$ oc get machinesets -n openshift-machine-api出力例
NAME DESIRED CURRENT READY AVAILABLE AGE <machine_set_name_1> 1 1 1 1 55m <machine_set_name_2> 1 1 1 1 55m次のコマンドを実行して、最初のコンピュートマシンセットを編集します。
$ oc edit machineset <machine_set_name_1> -n openshift-machine-apispec.template.spec.providerSpec.valueスタンザを次のように更新して、最初の障害ドメインを使用するようにコンピュートマシンセットを設定します。注記clusterおよびsubnetsフィールドに指定する値が、クラスターのインフラストラクチャー CR のfailureDomainsスタンザに設定されている値と一致していることを確認してください。Nutanix 障害ドメインを使用したコンピュートマシンセットの例
apiVersion: machine.openshift.io/v1 kind: MachineSet metadata: creationTimestamp: null labels: machine.openshift.io/cluster-api-cluster: <cluster_name> name: <machine_set_name_1> namespace: openshift-machine-api spec: replicas: 2 # ... template: spec: # ... providerSpec: value: apiVersion: machine.openshift.io/v1 failureDomain: name: <failure_domain_name_1> cluster: type: uuid uuid: <prism_element_uuid_1> subnets: - type: uuid uuid: <prism_element_network_uuid_1> # ...-
spec.replicasの値をメモします。この値は、変更を適用するためにコンピュートマシンセットをスケーリングする際に必要になるためです。 - 変更を保存します。
次のコマンドを実行して、更新されたコンピュートマシンセットによって管理されているマシンをリスト表示します。
$ oc get -n openshift-machine-api machines \ -l machine.openshift.io/cluster-api-machineset=<machine_set_name_1>出力例
NAME PHASE TYPE REGION ZONE AGE <machine_name_original_1> Running AHV Unnamed Development-STS 4h <machine_name_original_2> Running AHV Unnamed Development-STS 4h次のコマンドを実行して、更新されたコンピュートマシンセットで管理されるマシンごとに
deleteアノテーションを設定します。$ oc annotate machine/<machine_name_original_1> \ -n openshift-machine-api \ machine.openshift.io/delete-machine="true"代わりとなるマシンを新しい設定で作成するために、次のコマンドを実行して、コンピュートマシンセットをレプリカ数の 2 倍にスケーリングします。
$ oc scale --replicas=<twice_the_number_of_replicas> \1 machineset <machine_set_name_1> \ -n openshift-machine-api- 1
- たとえば、コンピュートマシンセット内のレプリカの元の数が
2の場合、レプリカを4にスケーリングします。
次のコマンドを実行して、更新されたコンピュートマシンセットによって管理されているマシンをリスト表示します。
$ oc get -n openshift-machine-api machines -l machine.openshift.io/cluster-api-machineset=<machine_set_name_1>新しいマシンが
Runningフェーズにある場合、コンピュートマシンセットを元のレプリカ数にスケーリングできます。古い設定で作成されたマシンを削除するために、次のコマンドを実行して、コンピュートマシンセットを元のレプリカ数にスケーリングします。
$ oc scale --replicas=<original_number_of_replicas> \1 machineset <machine_set_name_1> \ -n openshift-machine-api- 1
- たとえば、コンピュートマシンセット内のレプリカの元の数が
2であった場合、レプリカを2にスケーリングします。
- 必要に応じて、デプロイメントで使用可能な追加の障害ドメインを参照するようにマシンセットの変更を続けます。