赛博拆迁办:Headlamp 与网络组件的无痕卸载
This content is not available in your language yet.
在赛博工地里,会建高楼只是基本功,懂得如何干净利落地拆除才是老手的自我修养。Kubernetes 集群就像有洁癖的强迫症患者,如果留下一堆不再使用的孤儿资源(Orphaned Resources),不仅占用节点性能,还可能引发潜在的安全和网络冲突。
今天,“赛博拆迁办”正式进场。我们将按照“逆向工程”的逻辑,把上一篇部署的 Headlamp 仪表盘、权限通行证以及“四大天王” Service 全部连根拔起,做到真正的拔线走人、片甲不留。
🧹 拆除准备:确认拆迁目标
Section titled “🧹 拆除准备:确认拆迁目标”拆除之前,一定要确认我们即将操作的命名空间(Namespace)和资源名称,避免误伤友军。我们将要清理的内容包含:
- Helm 部署的
my-headlamp实例。 - 手搓的管理员权限(ServiceAccount、Secret、ClusterRoleBinding)。
- 网络压测时留下的四大 Service。
🚜 核心拆除作业
Section titled “🚜 核心拆除作业”我们将利用之前保留的“施工图纸(YAML文件)”来进行反向拆除。这也是 GitOps 理念的一大优势:图纸即状态。当你想要销毁什么,只需将 apply 换成 delete。
-
卸载核心建筑:移除 Headlamp 应用
既然当初是用对讲机(Helm)呼叫的空投,现在也用它来撤场。执行以下命令,Helm 会自动分析并清理属于
my-headlamp的所有关联资源(如 Deployment、内置 Service 等)。Terminal window helm uninstall my-headlamp --namespace kube-system预期输出:
release "my-headlamp" uninstalled。此时监控室的主体结构已坍塌。 -
拔除网络管线:销毁“四大天王” Service
LoadBalancer 还在占用发牌员的内网 IP,NodePort 还在宿主机上开着洞。果断切断它们,归还给 Cilium:
Terminal window kubectl delete -f all-services.yaml(如果你之前没保存文件,也可以像拆除权限那样,直接指定名字进行强制拆除:)
Terminal window # 备用方案(无图纸强制拆除)kubectl delete svc headlamp-nodeport headlamp-loadbalancer fake-headlamp-ext -n kube-system预期输出会显示这几个 Service 被 deleted。Cilium 会瞬间感知并回收底层的 L2 ARP 广播和跨节点端口映射。
-
吊销上帝通行证:清理 RBAC 与 Secret
虽然应用不在了,但我们手搓的集群最高权限账号还留在
kube-system里。这在安全规范中是绝对的“高危隐患”。直接拿原图纸反向操作:Terminal window kubectl delete -f headlamp-admin.yaml(如果你之前没保存文件,也可以用命令行逐个击破:)
Terminal window # 备用方案(无图纸强制拆除)kubectl delete clusterrolebinding headlamp-adminkubectl delete serviceaccount headlamp-admin -n kube-systemkubectl delete secret headlamp-admin-token -n kube-system -
清理仓库图纸源 (可选)
如果你是个极致的强迫症,希望本地电脑也不留痕迹,可以把 Headlamp 的 Helm 仓库源从本地一并删掉:
Terminal window helm repo remove headlamp
🔍 拆除验收:清点现场
Section titled “🔍 拆除验收:清点现场”老规矩,拆完必须验收。执行以下命令,看看现场有没有留下垃圾:
# 检查 Pod 是否已销毁kubectl get pods -n kube-system | grep headlamp
# 检查网络 Service 是否已清理kubectl get svc -n kube-system | grep headlamp
# 检查越权角色绑定是否已吊销kubectl get clusterrolebinding | grep headlamp如果上面三条命令敲下去,什么也没有输出,恭喜你,这片赛博空地已经彻底清理干净,网络拓扑也恢复到了最纯粹的状态。
包工头语录:能够随时随地一键搭建,也能胸有成竹一键销毁,才是掌控 Kubernetes 的终极自由!准备好这片干净的土地,我们要准备迎接下一个重磅工程了。