6.3. ブートイメージ管理の有効化
デフォルトでは、Google Cloud および Amazon Web Services (AWS) クラスターの場合、クラスターを更新するたびに、Machine Config Operator (MCO) がクラスター内のマシンセットのブートイメージを更新します。
ブートイメージ管理機能を無効化してブートイメージが更新されないようにした場合は、MachineConfiguration オブジェクトを編集し、機能を再有効化できます。
この機能を有効化すると、ブートイメージが現在の OpenShift Container Platform バージョンに更新されます。今後クラスターが新しい OpenShift Container Platform バージョンに再度更新されると、ブートイメージも再度更新されます。機能の有効化後に作成された新しいノードは、更新されたブートイメージを使用します。この機能は既存のノードには影響しません。
手順
clusterという名前のMachineConfigurationオブジェクトを編集して、一部またはすべてのマシンセットのブートイメージ管理機能を有効化します。$ oc edit MachineConfiguration clusterオプション: すべてのマシンセットに対してブートイメージ管理機能を有効化します。
apiVersion: operator.openshift.io/v1 kind: MachineConfiguration metadata: name: cluster namespace: openshift-machine-config-operator spec: # ... managedBootImages:1 machineManagers: - apiGroup: machine.openshift.io2 resource: machinesets3 selection: mode: All4 オプション: 特定のマシンセットに対してブートイメージ管理機能を有効化します。
apiVersion: operator.openshift.io/v1 kind: MachineConfiguration metadata: name: cluster namespace: openshift-machine-config-operator spec: # ... managedBootImages:1 machineManagers: - apiGroup: machine.openshift.io2 resource: machinesets3 selection: mode: Partial4 partial: machineResourceSelector: matchLabels: region: "east"ヒントマシンセットに適切なラベルが存在しない場合は、次のようなコマンドを実行してキーと値のペアを追加します。
$ oc label machineset.machine ci-ln-hmy310k-72292-5f87z-worker-a region="east" -n openshift-machine-api
検証
マシン設定オブジェクトを表示して、ブートイメージ管理機能の現在の状態を確認します。
$ oc get machineconfiguration cluster -o yamlブートイメージ参照を含むマシンセット例
kind: MachineConfiguration metadata: name: cluster # ... status: conditions: - lastTransitionTime: "2025-05-01T20:11:49Z" message: Reconciled 2 of 4 MAPI MachineSets | Reconciled 0 of 0 CAPI MachineSets | Reconciled 0 of 0 CAPI MachineDeployments reason: BootImageUpdateConfigurationUpdated status: "True" type: BootImageUpdateProgressing - lastTransitionTime: "2025-05-01T19:30:13Z" message: 0 Degraded MAPI MachineSets | 0 Degraded CAPI MachineSets | 0 CAPI MachineDeployments reason: BootImageUpdateConfigurationUpdated status: "False" type: BootImageUpdateDegraded managedBootImagesStatus: machineManagers: - apiGroup: machine.openshift.io resource: machinesets selection: mode: All次のコマンドを実行して、ブートイメージのバージョンを取得します。マシンセット内のブートイメージの場所と形式は、プラットフォームによって異なります。ただし、ブートイメージは常に
spec.template.spec.providerSpec.パラメーターにリスト表示されます。$ oc get machinesets <machineset_name> -n openshift-machine-api -o yamlブートイメージ参照を含むマシンセット例
apiVersion: machine.openshift.io/v1beta1 kind: MachineSet metadata: labels: machine.openshift.io/cluster-api-cluster: ci-ln-77hmkpt-72292-d4pxp update-boot-image: "true" name: ci-ln-77hmkpt-72292-d4pxp-worker-a namespace: openshift-machine-api spec: # ... template: # ... spec: # ... providerSpec: # ... value: disks: - autoDelete: true boot: true image: projects/rhcos-cloud/global/images/<boot_image>1 # ...- 1
- このブートイメージは、現在の OpenShift Container Platform バージョンと同じです。