1.8. 卸装
在卸载 Red Hat Advanced Cluster Management for Kubernetes 时,有两个不同级别的过程。
第一个级别是删除自定义资源。这是最基本的卸载类型,它会删除 MultiClusterHub 实例的自定义资源,但会保留其他需要的组件。如果计划使用相同的设置和组件进行另外一个安装时,可以选择使用这个级别的卸载。因为其他组件已安装,所以可以缩短下一个版本的时间。
第二个级别是完整的卸载。这会删除除了个别项目(如自定义资源定义)外的所有内容。这包括删除被删除项目所需的组件和设置。当您继续执行此步骤时,它会删除所有没有通过删除自定义资源而被删除的组件和订阅。如果使用这个级别的卸载,则必须在重新安装自定义资源前重新安装 operator。
重要:在卸载 Red Hat Advanced Cluster Management hub 集群前,您必须分离所有由该 hub 集群管理的集群。请参阅因为资源存在而导致卸载失败的故障排除。
1.8.1. 使用以下命令删除 MultiClusterHub 实例
如果 MultiClusterObservability 自定义资源正在运行,则禁用和移除它。
- 登录到您的 hub 集群。
输入以下命令删除 MultiClusterObservability 自定义资源:
oc delete mco observability
当您删除资源时,Red Hat Advanced Cluster Management hub 集群上的
open-cluster-management-observability
命名空间中的 pod 以及所有受管集群上的open-cluster-management-addon-observability
命名空间中的 pod 都会被删除。重要:删除 observability 服务后,您的对象存储不会受到影响。
输入以下命令来改变命名空间:
oc project <namespace>
使用项目命名空间的名称替换
namespace
。输入以下命令删除
MultiClusterHub
自定义资源:oc delete multiclusterhub --all
可能需要 20 分钟才能完成卸载过程。您可以输入以下命令来查看进度:
oc get mch -o yaml
运行清理脚本删除所有剩余的工件。
- 按照安装 Helm 中的内容,安装 Helm CLI 二进制版本 3.2.0 或更新版本。
-
确保 OpenShift Container Platform CLI 被配置为运行
oc
命令。如需了解如何配置oc
命令的更多信息,请参阅 OpenShift Container Platform 文档中的使用 CLI 的内容。 将以下脚本复制到一个文件中:
#!/bin/bash ACM_NAMESPACE=<namespace> oc delete mch --all -n $ACM_NAMESPACE helm ls --namespace $ACM_NAMESPACE | cut -f 1 | tail -n +2 | xargs -n 1 helm delete --namespace $ACM_NAMESPACE oc delete apiservice v1beta1.webhook.certmanager.k8s.io v1.admission.cluster.open-cluster-management.io v1.admission.work.open-cluster-management.io oc delete clusterimageset --all oc delete configmap -n $ACM_NAMESPACE cert-manager-controller cert-manager-cainjector-leader-election cert-manager-cainjector-leader-election-core oc delete consolelink acm-console-link oc delete crd klusterletaddonconfigs.agent.open-cluster-management.io placementbindings.policy.open-cluster-management.io policies.policy.open-cluster-management.io userpreferences.console.open-cluster-management.io searchservices.search.acm.com oc delete mutatingwebhookconfiguration cert-manager-webhook cert-manager-webhook-v1alpha1 oc delete oauthclient multicloudingress oc delete rolebinding -n kube-system cert-manager-webhook-webhook-authentication-reader oc delete scc kui-proxy-scc oc delete validatingwebhookconfiguration cert-manager-webhook cert-manager-webhook-v1alpha1
将脚本中的
namespace
替换为安装 Red Hat Advanced Cluster Management 的命名空间的名称。确保指定正确的命名空间,因为命名空间会被清理和删除。运行该脚本以删除以前安装中的内容。
提示:如果您计划重新安装新版本并希望保留其他信息,可以跳过这个过程中的其余步骤并重新安装。
输入以下命令删除所有相关组件和订阅:
oc delete subs --all
输入以下命令删除 ClusterServiceVersion:
oc delete clusterserviceversion --all