10.5.3. Microsoft Azure のコントロールプレーン設定オプション
コントロールプレーンマシンセット仕様の値を編集することで、インフラストラクチャーや環境の変更を反映するようにコントロールプレーンマシンを更新できます。
コントロールプレーンマシンセットへの更新を保存すると、設定された更新ストラテジーに従って Control Plane Machine Set Operator がコントロールプレーンマシンを更新します。詳細は、制御プレーン設定の更新を参照してください。
次の YAML スニペットの例は、Azure クラスターのプロバイダーの仕様と障害ドメインの設定を示しています。
10.5.3.1. Azure プロバイダーの仕様例 リンクのコピーリンクがクリップボードにコピーされました!
コントロールプレーンマシンセットプロバイダー仕様の値を編集することで、基盤となるインフラストラクチャーの変更を反映するようにコントロールプレーンマシンを更新できます。
以下の YAML の例は、Microsoft Azure クラスターの有効な設定を示しています。
既存のクラスター用のコントロールプレーンマシンセットを作成する場合、プロバイダーの仕様が、インストールプログラムによって作成されるコントロールプレーンマシンのカスタムリソース (CR) の providerSpec 設定と一致する必要があります。
CR の障害ドメインセクションで値が設定されているフィールドは省略できます。
以下の例では、<cluster_id> という文字列はインフラストラクチャー ID です。インフラストラクチャー ID は、インストールプログラムがクラスタープロビジョニング中に使用したクラスター ID と一致します。OpenShift CLI (oc) がインストールされている場合は、以下のコマンドを実行してインフラストラクチャー ID を取得できます。
$ oc get -o jsonpath='{.status.infrastructureName}{"\n"}' infrastructure cluster
Azure providerSpec の値の例
apiVersion: machine.openshift.io/v1
kind: ControlPlaneMachineSet
metadata:
name: cluster
namespace: openshift-machine-api
spec:
# ...
template:
# ...
spec:
providerSpec:
value:
acceleratedNetworking: true
apiVersion: machine.openshift.io/v1beta1
credentialsSecret:
name: azure-cloud-credential
namespace: openshift-machine-api
diagnostics: {}
image:
offer: ""
publisher: ""
resourceID: /resourceGroups/<cluster_id>-rg/providers/Microsoft.Compute/galleries/gallery_<cluster_id>/images/<cluster_id>-gen2/versions/412.86.20220930
sku: ""
version: ""
internalLoadBalancer: <cluster_id>-internal
kind: AzureMachineProviderSpec
location: <region>
managedIdentity: <cluster_id>-identity
metadata:
creationTimestamp: null
name: <cluster_id>
networkResourceGroup: <cluster_id>-rg
osDisk:
diskSettings: {}
diskSizeGB: 1024
managedDisk:
storageAccountType: Premium_LRS
osType: Linux
publicIP: false
publicLoadBalancer: <cluster_id>
resourceGroup: <cluster_id>-rg
subnet: <cluster_id>-master-subnet
userDataSecret:
name: master-user-data
vmSize: Standard_D8s_v3
vnet: <cluster_id>-vnet
zone: "1"
ここでは、以下のようになります。
spec.template.spec.providerSpec.value.credentialsSecret.name- クラスターのシークレット名を指定します。この値は変更しないでください。
spec.template.spec.providerSpec.value.image- コントロールプレーンマシンセットのイメージの詳細を指定します。
spec.template.spec.providerSpec.value.image.resourceID-
インスタンスタイプと互換性のあるイメージを指定します。インストールプログラムによって作成された Hyper-V 世代の V2 イメージには接尾辞
-gen2が付いていますが、V1 イメージには接尾辞のない同じ名前が付いています。 spec.template.spec.providerSpec.value.internalLoadBalancer-
コントロールプレーンの内部ロードバランサーを指定します。
ControlPlaneMachineSetおよびコントロールプレーンMachineCR には、このフィールドが必要です。空欄の場合は、有効な値を指定してください。 spec.template.spec.providerSpec.value.kind- クラウドプロバイダープラットフォームのタイプを指定します。この値は変更しないでください。
spec.template.spec.providerSpec.value.location- コントロールプレーンマシンを配置するリージョンを指定します。
spec.template.spec.providerSpec.value.osDisk- コントロールプレーンのディスク設定を指定します。
spec.template.spec.providerSpec.value.publicLoadBalancerコントロールプレーンのパブリックロードバランサーを指定します。
注記ユーザー定義のアウトバウンドルーティングを持つプライベート OpenShift Container Platform クラスターでは、
publicLoadBalancerパラメーターを省略できます。spec.template.spec.providerSpec.value.subnet- コントロールプレーンのサブネットを指定します。
spec.template.spec.providerSpec.value.userDataSecret- コントロールプレーンのユーザーデータシークレットを指定します。この値は変更しないでください。
spec.template.spec.providerSpec.value.zoneすべての障害ドメインに対して単一のゾーンを使用するクラスターのゾーン設定を指定します。
注記クラスターが障害ドメインごとに異なるゾーンを使用する場合は、このパラメーターを障害ドメインで設定してください。各障害ドメインに異なるゾーンを使用する場合に、プロバイダー仕様でこの値を指定すると、Control Plane Machine Set Operator はその値を無視し、障害ドメインの値を使用します。