15.2. 删除 RHCOS 自定义层次镜像

您可以从特定机器配置池中的节点轻松恢复 Red Hat Enterprise Linux CoreOS (RHCOS) 镜像层。Machine Config Operator (MCO) 使用集群基本 Red Hat Enterprise Linux CoreOS (RHCOS) 镜像重启这些节点,覆盖自定义分层镜像。

要从集群中删除 Red Hat Enterprise Linux CoreOS (RHCOS) 自定义分层镜像,您需要删除应用镜像的机器配置。

流程

  1. 删除应用自定义分层镜像的机器配置。

    $ oc delete mc os-layer-hotfix

    删除机器配置后,节点将重新引导。

验证

您可以通过执行以下任一方式来验证自定义层次镜像是否已被删除:

  1. 检查 worker 机器配置池是否使用以前的机器配置更新:

    $ oc get mcp

    输出示例

    NAME     CONFIG                                             UPDATED   UPDATING   DEGRADED   MACHINECOUNT   READYMACHINECOUNT   UPDATEDMACHINECOUNT   DEGRADEDMACHINECOUNT   AGE
    master   rendered-master-6faecdfa1b25c114a58cf178fbaa45e2   True      False      False      3              3                   3                     0                      39m
    worker   rendered-worker-6b000dbc31aaee63c6a2d56d04cd4c1b   False     True       False      3              0                   0                     0                      39m 1

    1
    UPDATING 字段为 True 时,机器配置池会使用以前的机器配置进行更新。当字段变为 False 时,worker 机器配置池已应用到以前的机器配置。
  2. 检查节点以查看是否禁用了在节点上调度。这表示要应用更改:

    $ oc get nodes

    输出示例

    NAME                                         STATUS                     ROLES                  AGE   VERSION
    ip-10-0-148-79.us-west-1.compute.internal    Ready                      worker                 32m   v1.25.0+3ef6ef3
    ip-10-0-155-125.us-west-1.compute.internal   Ready,SchedulingDisabled   worker                 35m   v1.25.0+3ef6ef3
    ip-10-0-170-47.us-west-1.compute.internal    Ready                      control-plane,master   42m   v1.25.0+3ef6ef3
    ip-10-0-174-77.us-west-1.compute.internal    Ready                      control-plane,master   42m   v1.25.0+3ef6ef3
    ip-10-0-211-49.us-west-1.compute.internal    Ready                      control-plane,master   42m   v1.25.0+3ef6ef3
    ip-10-0-218-151.us-west-1.compute.internal   Ready                      worker                 31m   v1.25.0+3ef6ef3

  3. 当节点重新处于 Ready 状态时,检查该节点是否使用基础镜像:

    1. 打开节点的 oc debug 会话。例如:

      $ oc debug node/ip-10-0-155-125.us-west-1.compute.internal
    2. /host 设置为 debug shell 中的根目录:

      sh-4.4# chroot /host
    3. 运行 rpm-ostree status 命令,以查看自定义分层镜像正在使用:

      sh-4.4# sudo rpm-ostree status

      输出示例

      State: idle
      Deployments:
      * ostree-unverified-registry:podman pull quay.io/openshift-release-dev/ocp-release@sha256:e2044c3cfebe0ff3a99fc207ac5efe6e07878ad59fd4ad5e41f88cb016dacd73
                         Digest: sha256:e2044c3cfebe0ff3a99fc207ac5efe6e07878ad59fd4ad5e41f88cb016dacd73