6.2. 禁用引导镜像管理
默认情况下,对于 Google Cloud 和 Amazon Web Services (AWS) 集群,Machine Config Operator (MCO) 会在更新集群时管理并更新集群中机器集中的引导镜像。对于 VMware vSphere,您可以启用引导镜像管理,它是一个技术预览功能。
您可以通过编辑 MachineConfiguration 对象来禁用集群的引导镜像管理功能。禁用后,Machine Config Operator (MCO) 不再管理集群中的引导镜像,不再使用每个集群更新来更新引导镜像。
禁用这个功能不会将节点或机器集回滚到原始安装的引导镜像。机器集会保留禁用该功能时出现的引导镜像版本,如果集群在以后升级到新的 OpenShift Container Platform 版本,则不会更新。此功能对现有节点没有影响。
禁用该功能后,您可以随时重新启用该功能。如需更多信息,请参阅"启用更新的引导镜像"。
流程
编辑
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: None4
验证
当受影响的节点返回
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 # ...- 1
- 此引导镜像与当前的 OpenShift Container Platform 版本相同。
对于 VMware vSphere,从受影响的节点获取引导镜像版本:
运行以下命令,打开到节点的
oc debug会话:$ oc debug node/<node_name>运行以下命令,将
/host设置为 debug shell 中的根目录:sh-5.1# chroot /host运行
rpm-ostree status命令,以查看自定义分层镜像正在使用:sh-5.1# rpm-ostree status输出示例
State: idle Deployments: * ostree-unverified-registry:quay.io/my-registry/... Digest: sha256:...