第 5 章 引导镜像管理


对于 Google Cloud Platform (GCP) 和 Amazon Web Services (AWS) 集群,默认情况下,Machine Config Operator (MCO) 管理和更新用于扩展节点的引导镜像。这意味着,每当您升级集群时,MCO 会默认更新引导镜像。

对于所有其他平台,MCO 不使用每个集群更新更新引导镜像。

5.1. 关于引导镜像管理

默认情况下,对于 Google Cloud Platform (GCP)和 Amazon Web Services (AWS)集群,Machine Config Operator (MCO)会在更新集群时更新集群中的机器集中的引导镜像。

对于 GCP 和 AWS,如果需要,您可以禁用引导镜像管理功能。当禁用该功能时,引导镜像不再会与集群进行更新。例如,如果禁用了这个功能,如果您的集群最初使用 OpenShift Container Platform 4.16 创建,MCO 用于创建节点的引导镜像是相同的 4.16 版本,即使您的集群是更新的版本。

但是,使用旧的引导镜像可能会导致以下问题:

  • 启动节点的额外时间
  • 证书过期问题
  • 版本偏移问题

有关如何禁用此功能的详情,请参考"禁用引导镜像管理"。如果禁用此功能,您可以随时重新启用该功能。如需更多信息,请参阅"启用引导镜像管理"。

注意

配置引导镜像管理的功能仅适用于 GCP 和 AWS 集群。由 Cluster CAPI Operator 管理的集群不支持它。

禁用或重新启用该功能后集群的行为取决于您进行更改的时间,包括以下情况:

  • 如果您在升级到新的 OpenShift Container Platform 版本前禁用该功能:

    • 机器集使用的引导镜像版本与禁用该功能时相同的 OpenShift Container Platform 版本相同。
    • 当您扩展节点时,新节点使用相同的 OpenShift Container Platform 版本。
  • 如果您在升级到新的 OpenShift Container Platform 版本后禁用该功能:

    • 机器集使用的引导镜像版本已更新,以匹配更新的 OpenShift Container Platform 版本。
    • 在扩展节点时,新节点使用更新的 OpenShift Container Platform 版本。
    • 如果您升级到更新的 OpenShift Container Platform 版本,机器集中的引导镜像版本将保留在当前版本中,且不会在集群中更新。
  • 如果您在禁用后启用该功能:

    • 如果不同,机器集使用的引导镜像版本会更新为当前的 OpenShift Container Platform 版本。
    • 在扩展节点时,新节点使用集群中的当前 OpenShift Container Platform 版本。
注意

因为只有在扩展节点时才使用引导镜像,所以此功能不会影响现有节点。

要查看集群中使用的当前引导镜像,请检查机器集。

注意

机器集中引导镜像的位置和格式因平台而异。但是,引导镜像总是列在 spec.template.spec.providerSpec. 参数中。

使用引导镜像引用的 GCP 机器集示例

apiVersion: machine.openshift.io/v1beta1
kind: MachineSet
metadata:
  name: ci-ln-hmy310k-72292-5f87z-worker-a
  namespace: openshift-machine-api
spec:
# ...
  template:
# ...
    spec:
# ...
      providerSpec:
# ...
        value:
          disks:
          - autoDelete: true
            boot: true
            image: projects/rhcos-cloud/global/images/rhcos-412-85-202203181601-0-gcp-x86-64 
1

# ...
Copy to Clipboard Toggle word wrap

1
此引导镜像与最初安装的 OpenShift Container Platform 版本相同,在本例中为 OpenShift Container Platform 4.12,无论集群的当前版本是什么。在机器集中表示引导镜像的方式取决于平台,因为 providerSpec 字段的结构与平台不同。

使用引导镜像引用的 AWS 机器集示例

apiVersion: machine.openshift.io/v1beta1
kind: MachineSet
metadata:
  name: ci-ln-hmy310k-72292-5f87z-worker-a
  namespace: openshift-machine-api
spec:
# ...
  template:
# ...
    spec:
# ...
      providerSpec:
         value:
          ami:
            id: ami-0e8fd9094e487d1ff
# ...
Copy to Clipboard Toggle word wrap

重要

如果要启用引导镜像管理的任何机器集使用基于 Ignition 版本 2.2.0 的 *-user-data secret,Machine Config Operator 会在启用该功能时将 Ignition 版本转换为 3.4.0。OpenShift Container Platform 版本 4.5 和较低版本 2.2.0。如果这个转换失败,MCO 或集群可能会降级。包含 err: converting ignition stub failed: failed to parse Ignition config 的错误信息会添加到 oc get ClusterOperator machine-config 命令的输出中。您可以使用以下常规步骤来更正问题:

  1. 禁用引导镜像管理功能。如需更多信息,请参阅"禁用引导镜像管理"。
  2. 手动更新 *-user-data secret,以使用 Ignition 版本到 3.2.0。
  3. 启用引导镜像管理功能。如需更多信息,请参阅"启用引导镜像管理"。
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat