前言
Rancher 从 v2.5 开始,支持将 Rancher HA 安装在任何经过 CNCF 认证的标准 K8s 发行版上,这个集群可以使用上游 Kubernetes,也可以使用 Rancher 的 Kubernetes 发行版之一,也可以是来自 Amazon EKS 等提供商的托管 Kubernetes 集群。无论安装到哪种集群上,Rancher 都推荐使用一个独立的 K8S/K3S 集群作为 Rancher HA 的 Local 集群,这样 Rancher HA 不会和业务集群相互影响。
如果在独立的 Local 集群上卸载 Rancher HA,一般的做法是将 Local 集群删掉,从而达到卸载 Rancher HA 的目的,这样做的好处是比较简单、数据清理的比较彻底。
但有些用户将 Rancher HA 安装到了某些业务或生产集群上,这样的话,就无法通过移除 Local 集群去卸载 Rancher HA。我们需要找到一个办法可以在不影响 Local 集群运行的情况下卸载掉 Rancher HA。
Rancher 提供了一个卸载 Rancher HA 的工具:system-tools。我们可以借助 system-tools 来将 Rancher HA 生成的 namespace 和其他资源移除。执行remove命令会移除以下资源:
- Rancher 部署的命名空间,默认名称是cattle-system。
- Rancher 通过cattle.io/creator:norman标签标记的serviceAccount、
clusterRoles和clusterRoleBindings。 - 使用 Rancher v2.1.0 或更新版本创建的所有及资源都会被打上cattle.io/creator:norman的标签。
- Labels、annotations、finalizers。