6.2. ブートイメージ管理を無効にする
ブートイメージ管理機能を無効にすると、Machine Config Operator (MCO) が対象となるマシンセットのブートイメージを管理または更新しなくなります。たとえば、変更したくないカスタムブートイメージを使用するために、ワーカーノードに対してこの機能を無効にすることができます。
MachineConfiguration オブジェクトを編集することで、クラスターのブートイメージ管理機能を無効化できます。無効化すると、Machine Config Operator (MCO) はクラスター内のブートイメージを管理しなくなり、クラスターの更新ごとにブートイメージを更新しなくなります。
この機能を無効にしても、ノードまたはマシンセットは元々インストールされたブートイメージにロールバックされません。マシンセットは、機能が無効化されたときに存在していたブートイメージバージョンを保持し、今後クラスターが新しい OpenShift Container Platform バージョンにアップグレードされても更新されません。この機能は既存のノードには影響しません。
この機能を無効にした後、いつでも再有効化できます。詳細は、「更新されたブートイメージの有効化」を参照してください。
手順
MachineConfigurationオブジェクトを編集して、一部またはすべてのマシンセットのブートイメージ管理機能を無効化します。$ oc edit MachineConfiguration clusterオプション: すべてのマシンセットの機能を無効にします。
apiVersion: operator.openshift.io/v1 kind: MachineConfiguration metadata: name: cluster spec: # ... managedBootImages:1 machineManagers: - apiGroup: machine.openshift.io2 resource: machinesets3 selection: mode: None4 spec.managedBootImages- ブートイメージ管理機能を設定します。
spec.managedBootImages.machineManagers.selection.mode.None- この機能がクラスター内のすべてのマシンセットで無効化されていることを指定します。
検証
影響を受けるノードが
READY状態に戻ったら、マシン設定オブジェクトを表示して、ブートイメージ管理機能の現在の状態を確認します。$ 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影響を受けるノードが
READY状態に戻ったら、次のいずれかの方法を使用して現在のブートイメージを確認します。Google Cloud および AWS の場合、次のコマンドを実行してブートイメージのバージョンを取得します。マシンセット内のブートイメージの場所と形式は、プラットフォームによって異なります。ただし、ブートイメージは常に
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 # ...VMware vSphere の場合は、影響を受けるノードからブートイメージのバージョンを取得します。
次のようなコマンドを実行して、ノードへの
oc debugセッションを開きます。$ oc debug node/<node_name>次のコマンドを実行して、デバッグシェル内のルートディレクトリーとして
/hostを設定します。sh-5.1# chroot /hostrpm-ostree statusコマンドを実行して、カスタムレイヤーイメージが使用されていることを確認します。sh-5.1# rpm-ostree status出力例
State: idle Deployments: * ostree-unverified-registry:quay.io/my-registry/... Digest: sha256:...