温柔一刀,优雅且彻底地卸载Rancher HA

## 前言
Rancher 从 v2.5 开始支持将 Rancher HA 安装在任何经过 CNCF 认证的标准 K8s 发行版上这个集群可以使用上游 Kubernetes,也可以使用 Rancher 的 Kubernetes 发行版之一,也可以是来自 Amazon EKS 等提供商的托管 Kubernetes 集群。无论安装到哪种集群上,R,2021年是什么年ancher 都推荐使用一个独立的 K8S/K3S 集群作为 Rancher HA 的 Local 集群,这样 Rancher HA 不会和业务集群相互影响。
如果在独立的 Local 集群上,,歌曲别知己卸载 Ra9261nc,2020年高考分数线her HA,一般的rad做法是将 Local 集群删掉,从而达到卸载 Rancher HA 的目的,这样做的好处是比较简单、数据清理radio的比较彻底。
但有用一边一边造句些用户将 Rancher HA 安装卸载hmscore有什么后果到了某些业务或生产集群上,这样的话,就无法通过移除 Loca9265l 集群去卸载 Rancher HA。我们需要找到一个办法可以在不影响 Local 集群运行的情况下卸载掉 Rancher HA。
Rancher 提供了一个卸载 Rancher HA 的工具:system-tools。我们可以借助 system-tools 来将 Rancher HA 生成的 namespace 和其他资源移除。执行remove命令会移除以下资源:
- Rancher 部署的命名空间,默认名称是cattle-system
- Rancher 通过cattle.io/creator9260:norman标签标记的ser用一条毛巾治颈椎病viceAccount、
clusterRoles和clu卸载英文sterRoleBi卸载精灵ndings用一就造句
- 使用 Ranchrado手表er v2.1.0 或更新版本创建的所有及资源都会被打上cattle.io/creator:norman的标签。
- L卸载软件abels、radwimpsannotations、finalizers。
- Rancher Deployment。
- 集群、项目radwimps和用户相关的 CRD。
- management.cattle.io API Group 内创建的所有资源。
使用 Rancher v2.x 创建的所有 CRD。
但 system-tools 年久失修926词汇(最后一次更新于杭州天气 2019 年 4 月 11 日),针对后续 Rancher 版本新增的一些 namespace 等资源并没有被移除,所以导致我们没有一个方法可以完全在 Local 集群上卸载掉 Rancher HA。
## 卸载 Rancher HA
为了在 Local 集群上彻底卸载掉 Rancher HA,我们可以先筛选出哪些 namesaces 是由 Rancher HA 创建的,然后再通过 *926是什么意思*system-tools remove --kubeconfig --namespace ** 来删除对应的 namespradwimpsace 和相从斗罗开始俘获女神关资源。经过测试发现,通过 system-to,,歌曲别知己ols 移除 namespace 后,namespace 的状态始终为Terminat用一律清一色都造句ing,还需要手动的移除掉.spec.finalizers和.metadata.fin9260a从道果开始lizers,然后才CD能彻底的将 namespace 删除。
成都信息工程大学此,笔者准备了一个 shell 脚本来完成以上的删除流程:
> 注意:
>
> - 本脚本只基于 Rancher v2.5.8 上进行测试,理论上 v2.5.x 系列版本均支持。其他版本(例海贼之苟到大将如:2.4.x)需要修改步骤 4 中对应的NS参数来设置要删除的 namespace
> - 本脚本在 Local 集群为 k3s 和 rke 集群上做过验证,如 Local 集从斗罗开始打卡群为其他 K8s 集群,需要确认步骤 4 中对应的NS参数来设置要删除的 na926mespace
> - Rancher HA 会创建c-、p-、user- 开头的 namespace,这些不需要用户关注,当通过system-tools移除cattle-system会自动将这些 namespace 移除
1radio.下载脚本
``926是什么意思`
root@ip-172-31-22-79:~# wg卸载精灵et htt926ps://raw.githubusercontent.com/kingsd041/some_script/master/remove-rancher-ha/remove_r_ha.sh
```
2.在该主机上安装kubectl、jq、system-tools,并且创建 kubeconfig 文件。
3.编辑radius脚本,设置 KUBE_CONFIG目录
```
KUBE_CONFIG='/root/.kube/c海贼之苟到大将onfig'好游快爆
```
4.编辑脚本,确认NS变量设置的 namespace 是否为将要被删除的 namespace,避免误删 namespace。
```
NS="cattle-system|*fleet*|ra韩三千苏迎夏最新章节ncher-operator-syste海贼王m|cattle-global-nt|cattle-global-data"
```
5.执行脚本,卸载 Rancher HA
``,12星座`
root@ip-1792612-31-22-7926词汇9:~# ./remove_r_ha.sh9268
cattle-system
cattle-global-dat从斗罗开始的浪人a
cattle-global-nt
rancher-operator-system
fleet-clusters-system
fleet-local
c用一面一面造句luster-fleet-local-local-1a3d67d0a899
fleet-system
fleet-d韩三千苏迎夏最新章节efault
cluster-fleet-def9265ault-c-9用一句话赞美春天zwzq-dd029f1926医院在哪里7f988
Are you sure to remove the above namespace? [y/n] y
INFO[0000] Removing Rancher management plane in namespace: [cattle-system]
INF9265O[0000] Getting connection c成都中医药大学onfiguration
INFO[0000] Removing Cattle deployment
INFO[0000] Removed Cattle deployment succuessfully
INFO[0000] Remradeon显卡oving ClusterRoleBindings
...
...
```
大约 5 分钟,脚本执行完成。此时,可以通过kubectl get ns 来确认 Ra926医院在哪里ncher HA 是否被卸载:
```
root9265@ip-172-31-22-7海贼王9:~# kubectl get ns
NAME STATUS AGE
kube-public Active 65m
default Active 65m
kube-node-lease Active 65m
kube-system Active 65m
``,12星座 公主 礼服 儿童`
## 后记
虽然 Rancher v2.5 开始可以将 Rancher HA 安装在任何经过 CNCF 认证的 K8s 集群上,但还是建议大家在生产环境上将 Rancher HA 安装在一个独立的 Lo成都天气cal 集群上,这样可以避免 Rancher HA 和业务集群相互影响。如果你将 Rancher H成都中医药大学A 安装到了业务 K8卸载微信后如何恢复聊天记录s 集群上,可以使用本文的方式去完美的卸载 Rancher HA,对原集群,,歌曲别知己不会有任何影响。
## 鸣谢
感谢 IT 老男孩 博文:强制删除 Terminating 状态的 namespace
(原文链接:https://www.xtplayer.cn/kubernetes/forces-delete-terminated-names,2021图片pace/)