5.2. 使用 CLI 卸载 OpenShift 沙盒容器

您可以使用 Red Hat OpenShift 命令行界面(CLI) 卸载 OpenShift 沙盒容器。按照显示它们的顺序按照以下步骤操作。

5.2.1. 使用 CLI 删除 OpenShift 沙盒容器 pod

要卸载 OpenShift 沙盒容器,您必须首先删除所有使用 kata 作为 runtimeClass 的 pod。

先决条件

  • 已安装 OpenShift CLI(oc)。
  • 已安装命令行 JSON 处理器 (jq)。

流程

  1. 运行以下命令,搜索使用 kata 作为 runtimeClass 的 pod:

    $ oc get pods -A -o json | jq -r '.items[] | select(.spec.runtimeClassName == "kata").metadata.name'
  2. 要删除每个 pod,请运行以下命令:

    $ oc delete pod <pod-name>

5.2.2. 使用 CLI 删除 KataConfig 自定义资源

从集群中删除并卸载 kata 运行时及其所有相关资源,如 CRI-O 配置和 RuntimeClass

先决条件

  • 在集群中安装了 Red Hat OpenShift 4.13。
  • 已安装 OpenShift CLI(oc)。
  • 您可以使用具有 cluster-admin 角色的用户访问集群。
重要

删除 KataConfig CR 会自动重启 worker 节点。重启可能需要 10 到 60 分钟。妨碍重启时间的因素如下:

  • 带有更多 worker 节点的大型 Red Hat OpenShift 部署。
  • 激活 BIOS 和 Diagnostics 实用程序。
  • 在硬盘而不是 SSD 上部署。
  • 在物理节点上部署,如裸机,而不是在虚拟节点上部署。
  • CPU 和网络较慢。

流程

  1. 运行以下命令来删除 KataConfig 自定义资源:

    $ oc delete kataconfig <KataConfig_CR_Name>

OpenShift 沙盒容器 Operator 会删除最初为在集群中启用运行时创建的所有资源。

重要

在删除过程中,CLI 会停止响应,直到所有 worker 节点重启为止。等待进程完成,然后执行验证或继续进行后续步骤。

验证

  • 要验证 KataConfig 自定义资源是否已删除,请运行以下命令:

    $ oc get kataconfig <KataConfig_CR_Name>

    输出示例

    No KataConfig instances exist

5.2.3. 使用 CLI 删除 OpenShift 沙盒容器 Operator

通过删除 Operator 订阅、Operator 组、集群服务版本(CSV)和命名空间从集群中删除 OpenShift 沙盒容器 Operator。

先决条件

  • 已在集群中安装了 Red Hat OpenShift 4.10。
  • 已安装 OpenShift CLI(oc)。
  • 您已安装了 readand-line JSON 处理器(jq)。
  • 您可以使用具有 cluster-admin 角色的用户访问集群。

流程

  1. 运行以下命令,从订阅中获取 OpenShift 沙盒容器的集群服务版本 (CSV) 名称:

    CSV_NAME=$(oc get csv -n openshift-sandboxed-containers-operator -o=custom-columns=:metadata.name)
  2. 运行以下命令,从 Operator Lifecyle Manager(OLM)中删除 OpenShift 沙盒容器 Operator 订阅:

    $ oc delete subscription sandboxed-containers-operator -n openshift-sandboxed-containers-operator
  3. 运行以下命令,删除 OpenShift 沙盒容器的 CSV 名称:

    $ oc delete csv ${CSV_NAME} -n openshift-sandboxed-containers-operator
  4. 运行以下命令来获取 OpenShift 沙盒容器 Operator 组名称:

    $ OG_NAME=$(oc get operatorgroup -n openshift-sandboxed-containers-operator -o=jsonpath={..name})
  5. 运行以下命令来删除 OpenShift 沙盒容器 Operator 组名称:

    $ oc delete operatorgroup ${OG_NAME} -n openshift-sandboxed-containers-operator
  6. 运行以下命令来删除 OpenShift 沙盒容器命名空间:

    $ oc delete namespace openshift-sandboxed-containers-operator

5.2.4. 使用 CLI 删除 KataConfig 自定义资源定义

KataConfig 自定义资源定义 (CRD) 可让您定义 KataConfig CR。从集群中删除 KataConfig CRD。

先决条件

  • 已安装 OpenShift CLI(oc)。
  • 您可以使用具有 cluster-admin 角色的用户访问集群。
  • 您已从集群中删除 KataConfig CR。
  • 您已从集群中移除了 OpenShift 沙盒容器 Operator。

流程

  1. 运行以下命令来删除 KataConfig CRD:

    $ oc delete crd kataconfigs.kataconfiguration.openshift.io

验证

  • 要验证 KataConfig CRD 是否已删除,请运行以下命令:

    $ oc get crd kataconfigs.kataconfiguration.openshift.io

    输出示例

    Unknown CR KataConfig