6.3. 卸载 Web 终端

卸载 web 终端需要两步:

  1. 删除安装 Operator 时添加的组件和自定义资源(CR)。
  2. 卸载 Web Terminal Operator。

卸载 Web Terminal Operator 不会移除安装 Operator 时创建的任何自定义资源定义(CRD)或受管资源。为了安全起见,必须手动卸载这些组件。删除这些组件还允许您通过确保在卸载 Operator 时不会闲置终端来保存集群资源。

先决条件

  • 使用具有 cluster-admin 权限的账户访问 OpenShift Container Platform 集群。

6.3.1. 删除 Web 终端组件和自定义资源

使用 CLI 删除安装 Web Terminal Operator 期间创建的 CR。

流程

  1. 运行以下命令以确保所有 DevWorkspace CR 及其相关的 Kubernetes 对象(如部署)被删除。

    $ oc delete devworkspaces.workspace.devfile.io --all-namespaces --all --wait
    $ oc delete workspaceroutings.controller.devfile.io --all-namespaces --all --wait
    $ oc delete components.controller.devfile.io --all-namespaces --all --wait
    警告

    如果此步骤未完成,则终结器很难轻松地完全卸载 Operator。

  2. 运行以下命令以删除 CRD:

    $ oc delete customresourcedefinitions.apiextensions.k8s.io workspaceroutings.controller.devfile.io
    $ oc delete customresourcedefinitions.apiextensions.k8s.io components.controller.devfile.io
    $ oc delete customresourcedefinitions.apiextensions.k8s.io devworkspaces.workspace.devfile.io
  3. 删除 DevWorkspace-Webhook-Server 部署:

    $ oc delete deployment/devworkspace-webhook-server -n openshift-operators
    注意

    运行此步骤及以下步骤时,无法使用 oc exec 命令在容器中运行命令。删除 Webhook 后,您将可以再次使用 oc exec 命令。

  4. 运行以下命令以删除所有闲置服务、secret 和配置映射:

    $ oc delete all --selector app.kubernetes.io/part-of=devworkspace-operator,app.kubernetes.io/name=devworkspace-webhook-server
    $ oc delete serviceaccounts devworkspace-webhook-server -n openshift-operators
    $ oc delete configmap devworkspace-controller -n openshift-operators
    $ oc delete clusterrole devworkspace-webhook-server
    $ oc delete clusterrolebinding devworkspace-webhook-server
  5. 运行以下命令以删除变异或验证 Webhook 配置:

    $ oc delete mutatingwebhookconfigurations controller.devfile.io
    $ oc delete validatingwebhookconfigurations controller.devfile.io