搜索

3.9. 更新托管的 control plane

download PDF

在 OpenShift Container Platform 托管 control plane 上,更新在 control plane 和节点之间分离。您的服务集群供应商(这是托管集群 control plane 的用户)可以根据需要管理更新。托管的集群处理 control plane 更新,节点池处理节点升级。

3.9.1. 托管集群的更新

spec.release 值决定了 control plane 的版本。HostedCluster 对象将预期的 spec.release 值传送到 HostedControlPlane.spec.release 值,并运行适当的 Control Plane Operator 版本。

托管的 control plane 会管理 control plane 组件的新版本的推出,以及任何 OpenShift Container Platform 组件通过 Cluster Version Operator (CVO) 的新版本。

3.9.2. 节点池的更新

使用节点池,您可以通过公开 spec.releasespec.config 值来配置在节点上运行的软件。您可以使用以下方法启动滚动节点池更新:

  • 更改 spec.releasespec.config 值。
  • 更改任何特定于平台的字段,如 AWS 实例类型。结果是一组带有新类型的新实例。
  • 如果要将更改传播到节点,修改集群配置。

节点池支持替换更新和原位升级。nodepool.spec.release 值指定任何特定节点池的版本。NodePool 对象根据 .spec.management.upgradeType 值完成替换或原位滚动更新。

创建节点池后,您无法更改更新类型。如果要更改更新类型,您必须创建一个节点池并删除另一个节点池。

3.9.2.1. 替换节点池的更新

一个替换(replace)更新会在新版本中创建实例,并从以前的版本中删除旧的实例。对于这个级别的不可变性具有成本效率的云环境中,这个更新类型会非常有效。

替换更新不会保留任何手动更改,因为节点会被完全重新置备。

3.9.2.2. 节点池的原位更新

原位(in-place)会直接更新实例的操作系统。这个类型适用于对于基础架构的限制比较高的环境(如裸机)。

原位升级可保留手动更改,但在对集群直接关键的任何文件系统获操作系统配置(如 kubelet 证书)进行手工修改时会报告错误。

3.9.3. 为托管的 control plane 配置节点池

在托管的 control plane 上,您可以通过在管理集群中的配置映射中创建 MachineConfig 对象来配置节点池。

流程

  1. 要在管理集群中的配置映射中创建 MachineConfig 对象,请输入以下信息:

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: <configmap-name>
      namespace: clusters
    data:
      config: |
        apiVersion: machineconfiguration.openshift.io/v1
        kind: MachineConfig
        metadata:
          labels:
            machineconfiguration.openshift.io/role: worker
          name: <machineconfig-name>
        spec:
          config:
            ignition:
              version: 3.2.0
            storage:
              files:
              - contents:
                  source: data:...
                mode: 420
                overwrite: true
                path: ${PATH} 1
    1
    在存储 MachineConfig 对象的节点上设置路径。
  2. 将对象添加到配置映射后,您可以将配置映射应用到节点池,如下所示:

    spec:
      config:
        - name: ${CONFIGMAP_NAME}
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.