2.4. 准备从 OpenShift Container Platform 4.18 更新至更新的版本


在从 OpenShift Container Platform 4.18 更新至更新的版本前,了解 Red Hat Enterprise Linux (RHEL) 计算机器的一些特定问题。

随着 OpenShift Container Platform 4.19 的推出,不再支持基于软件包的 RHEL worker 节点。如果您在这些节点启动并运行时尝试更新集群,则更新将失败。

您可以使用节点选择器重新调度在 RHEL 计算节点上运行的 pod,以便在 RHCOS 节点上运行。

例如,以下 Node 对象对其操作系统信息有一个标签,本例中为 RHCOS:

带有 RHCOS 标签的节点对象示例

kind: Node
apiVersion: v1
metadata:
  name: ip-10-0-131-14.ec2.internal
  selfLink: /api/v1/nodes/ip-10-0-131-14.ec2.internal
  uid: 7bc2580a-8b8e-11e9-8e01-021ab4174c74
  resourceVersion: '478704'
  creationTimestamp: '2019-06-10T14:46:08Z'
  labels:
    kubernetes.io/os: linux
    failure-domain.beta.kubernetes.io/zone: us-east-1a
    node.openshift.io/os_version: '4.19'
    node-role.kubernetes.io/worker: ''
    failure-domain.beta.kubernetes.io/region: us-east-1
    node.openshift.io/os_id: rhcos 
1

    beta.kubernetes.io/instance-type: m4.large
    kubernetes.io/hostname: ip-10-0-131-14
    beta.kubernetes.io/arch: amd64
#...
Copy to Clipboard Toggle word wrap

1
标识节点上运行的操作系统的标签,以匹配 pod 节点选择器。

要调度到新 RHCOS 节点的 pod 都必须在其 nodeSelector 字段中包含匹配的标签。以下流程描述了如何添加标签。

流程

  1. 输入以下命令取消激活当前运行的现有 pod 的 RHEL 节点:

    $ oc adm cordon <rhel-node>
    Copy to Clipboard Toggle word wrap
  2. rhcos 节点选择器添加到 pod:

    • 要将节点选择器添加到现有和将来的 pod 中,请输入以下命令将节点选择器添加到 pod 的控制器对象中:

      带有 rhcos 标签的 Deployment 对象示例

      $ oc patch dc <my-app> -p '{"spec":{"template":{"spec":{"nodeSelector":{"node.openshift.io/os_id":"rhcos"}}}}}'
      Copy to Clipboard Toggle word wrap

      Deployment 控制对象下的任何现有 pod 都会在 RHCOS 节点上重新创建。

    • 要将节点选择器添加到特定的新 pod,直接将选择器添加到 Pod 对象中:

      带有 rhcos 标签的 Pod 对象示例

      apiVersion: v1
      kind: Pod
      metadata:
        name: <my-app>
      #...
      spec:
        nodeSelector:
          node.openshift.io/os_id: rhcos
      #...
      Copy to Clipboard Toggle word wrap

      新 pod 将在 RHCOS 节点上创建,假设 pod 也具有控制对象。

2.4.2. 识别和删除 RHEL worker 节点

随着 OpenShift Container Platform 4.19 的推出,不再支持基于软件包的 RHEL worker 节点。以下流程描述了如何识别在裸机安装中删除集群的 RHEL 节点。您必须完成以下步骤才能成功更新集群。

流程

  1. 输入以下命令识别运行 RHEL 的集群中的节点:

    $ oc get -l node.openshift.io/os_id=rhel
    Copy to Clipboard Toggle word wrap

    输出示例

    NAME                        STATUS    ROLES     AGE       VERSION
    rhel-node1.example.com      Ready     worker    7h        v1.32.3
    rhel-node2.example.com      Ready     worker    7h        v1.32.3
    rhel-node3.example.com      Ready     worker    7h        v1.32.3
    Copy to Clipboard Toggle word wrap

  2. 继续节点删除过程。RHEL 节点不由 Machine API 管理,没有与其关联的计算机器集。在从集群中删除前,您必须取消调度并排空节点。

    有关此过程的更多信息,请参阅如何从 Red Hat OpenShift Container Platform 4 UPI 中删除 worker 节点

2.4.3. 置备新的 RHCOS worker 节点

如果需要额外的计算节点,可以在更新集群之前或之后置备新的计算节点。如需更多信息,请参阅以下机器管理文档:

对于安装程序置备的基础架构安装,自动扩展会默认添加 RHCOS 节点。对于裸机平台上的用户置备的基础架构安装,您可以手动将 RHCOS 计算节点添加到集群中

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat