8.5. 卸载 Web 终端
卸载 Web Terminal Operator 不会删除安装 Operator 时创建的任何自定义资源定义 (CRD) 或受管资源。为了安全起见,您必须手动卸载这些组件。通过删除这些组件,您可以保存集群资源,因为在卸载 Operator 时终端不会闲置。
卸载 web 终端需要两步:
- 卸载 Web Terminal Operator 和安装 Operator 时添加的相关自定义资源 (CR)。
- 卸载 DevWorkspace Operator 及其作为 Web Terminal Operator 依赖项添加的相关自定义资源。
8.5.1. 删除 Web Terminal Operator 复制链接链接已复制到粘贴板!
您可以通过删除 Web Terminal Operator 和 Operator 使用的自定义资源来卸载 web 终端。
先决条件
-
您可以使用具有
cluster-admin
角色的用户访问 OpenShift Container Platform Web 控制台。 -
已安装
oc
CLI。
流程
-
在 Web 控制台中,导航到 Operators
Installed Operators。 - 滚动过滤器列表或在 Filter by name 框中输入关键字以查找 Web Terminal Operator。
-
点击 Web Terminal Operator 的 Options 菜单
,然后选择 Uninstall Operator。
- 在 Uninstall Operator 确认对话框中,点 Uninstall 从集群中删除 Operator、Operator 部署和 pod。Operator 会停止运行,并且不再接收更新。
8.5.2. 删除 DevWorkspace Operator 复制链接链接已复制到粘贴板!
要完全卸载 web 终端,还必须删除 DevWorkspace Operator 和 Operator 使用的自定义资源。
DevWorkspace Operator 是一个独立 Operator,可能需要作为集群中安装的其他 Operator 的依赖项。只有在确保不再需要 DevWorkspace Operator 时,才按照以下步骤操作。
先决条件
- 您可以使用集群管理员权限访问 OpenShift Container Platform 集群。
-
已安装
oc
CLI。
流程
删除 Operator 使用的
DevWorkspace
自定义资源,以及任何相关的 Kubernetes 对象:oc delete devworkspaces.workspace.devfile.io --all-namespaces --all --wait
$ oc delete devworkspaces.workspace.devfile.io --all-namespaces --all --wait
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc delete devworkspaceroutings.controller.devfile.io --all-namespaces --all --wait
$ oc delete devworkspaceroutings.controller.devfile.io --all-namespaces --all --wait
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 警告如果此步骤未完成,则终结器很难完全卸载 Operator。
删除 Operator 使用的 CRD:
警告DevWorkspace Operator 提供了使用转换 Webhook 的自定义资源定义(CRD)。无法删除这些 CRD 可能会导致集群中的问题。
oc delete customresourcedefinitions.apiextensions.k8s.io devworkspaceroutings.controller.devfile.io
$ oc delete customresourcedefinitions.apiextensions.k8s.io devworkspaceroutings.controller.devfile.io
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc delete customresourcedefinitions.apiextensions.k8s.io devworkspaces.workspace.devfile.io
$ oc delete customresourcedefinitions.apiextensions.k8s.io devworkspaces.workspace.devfile.io
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc delete customresourcedefinitions.apiextensions.k8s.io devworkspacetemplates.workspace.devfile.io
$ oc delete customresourcedefinitions.apiextensions.k8s.io devworkspacetemplates.workspace.devfile.io
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc delete customresourcedefinitions.apiextensions.k8s.io devworkspaceoperatorconfigs.controller.devfile.io
$ oc delete customresourcedefinitions.apiextensions.k8s.io devworkspaceoperatorconfigs.controller.devfile.io
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 验证所有涉及的自定义资源定义都已移除。以下命令不应该显示任何输出:
oc get customresourcedefinitions.apiextensions.k8s.io | grep "devfile.io"
$ oc get customresourcedefinitions.apiextensions.k8s.io | grep "devfile.io"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 删除
devworkspace-webhook-server
部署、变异并验证 Webhook:oc delete deployment/devworkspace-webhook-server -n openshift-operators
$ oc delete deployment/devworkspace-webhook-server -n openshift-operators
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc delete mutatingwebhookconfigurations controller.devfile.io
$ oc delete mutatingwebhookconfigurations controller.devfile.io
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc delete validatingwebhookconfigurations controller.devfile.io
$ oc delete validatingwebhookconfigurations controller.devfile.io
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意如果您在没有删除变异并验证 Webhook 的情况下删除
devworkspace-webhook-server
部署,则无法使用oc exec
命令在集群中的容器中运行命令。删除 Webhook 后,您可以再次使用oc exec
命令。删除任何剩余的服务、secret 和配置映射。取决于具体的安装,以下命令中包含的一些资源可能不存在。
oc delete all --selector app.kubernetes.io/part-of=devworkspace-operator,app.kubernetes.io/name=devworkspace-webhook-server -n openshift-operators
$ oc delete all --selector app.kubernetes.io/part-of=devworkspace-operator,app.kubernetes.io/name=devworkspace-webhook-server -n openshift-operators
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc delete serviceaccounts devworkspace-webhook-server -n openshift-operators
$ oc delete serviceaccounts devworkspace-webhook-server -n openshift-operators
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc delete clusterrole devworkspace-webhook-server
$ oc delete clusterrole devworkspace-webhook-server
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc delete clusterrolebinding devworkspace-webhook-server
$ oc delete clusterrolebinding devworkspace-webhook-server
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 卸载 DevWorkspace Operator:
-
在 web 控制台的 Administrator 视角中,导航到 Operators
Installed Operators。 - 滚动过滤器列表或在 Filter by name 框中输入关键字以查找 DevWorkspace Operator。
-
点 Operator 的 Options 菜单
,然后选择 Uninstall Operator。
- 在 Uninstall Operator 确认对话框中,点 Uninstall 从集群中删除 Operator、Operator 部署和 pod。Operator 会停止运行,并且不再接收更新。
-
在 web 控制台的 Administrator 视角中,导航到 Operators