Skip to content

headlamp

1 post with the tag “headlamp”

赛博拆迁办:Headlamp 与网络组件的无痕卸载

在赛博工地里,会建高楼只是基本功,懂得如何干净利落地拆除才是老手的自我修养。Kubernetes 集群就像有洁癖的强迫症患者,如果留下一堆不再使用的孤儿资源(Orphaned Resources),不仅占用节点性能,还可能引发潜在的安全和网络冲突。

今天,“赛博拆迁办”正式进场。我们将按照“逆向工程”的逻辑,把上一篇部署的 Headlamp 仪表盘、权限通行证以及“四大天王” Service 全部连根拔起,做到真正的拔线走人、片甲不留

拆除之前,一定要确认我们即将操作的命名空间(Namespace)和资源名称,避免误伤友军。我们将要清理的内容包含:

  1. Helm 部署的 my-headlamp 实例。
  2. 手搓的管理员权限(ServiceAccount、Secret、ClusterRoleBinding)。
  3. 网络压测时留下的四大 Service。

我们将利用之前保留的“施工图纸(YAML文件)”来进行反向拆除。这也是 GitOps 理念的一大优势:图纸即状态。当你想要销毁什么,只需将 apply 换成 delete

  1. 卸载核心建筑:移除 Headlamp 应用

    既然当初是用对讲机(Helm)呼叫的空投,现在也用它来撤场。执行以下命令,Helm 会自动分析并清理属于 my-headlamp 的所有关联资源(如 Deployment、内置 Service 等)。

    Terminal window
    helm uninstall my-headlamp --namespace kube-system

    预期输出:release "my-headlamp" uninstalled。此时监控室的主体结构已坍塌。

  2. 拔除网络管线:销毁“四大天王” 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 广播和跨节点端口映射。

  3. 吊销上帝通行证:清理 RBAC 与 Secret

    虽然应用不在了,但我们手搓的集群最高权限账号还留在 kube-system 里。这在安全规范中是绝对的“高危隐患”。直接拿原图纸反向操作:

    Terminal window
    kubectl delete -f headlamp-admin.yaml

    (如果你之前没保存文件,也可以用命令行逐个击破:)

    Terminal window
    # 备用方案(无图纸强制拆除)
    kubectl delete clusterrolebinding headlamp-admin
    kubectl delete serviceaccount headlamp-admin -n kube-system
    kubectl delete secret headlamp-admin-token -n kube-system
  4. 清理仓库图纸源 (可选)

    如果你是个极致的强迫症,希望本地电脑也不留痕迹,可以把 Headlamp 的 Helm 仓库源从本地一并删掉:

    Terminal window
    helm repo remove headlamp

老规矩,拆完必须验收。执行以下命令,看看现场有没有留下垃圾:

Terminal window
# 检查 Pod 是否已销毁
kubectl get pods -n kube-system | grep headlamp
# 检查网络 Service 是否已清理
kubectl get svc -n kube-system | grep headlamp
# 检查越权角色绑定是否已吊销
kubectl get clusterrolebinding | grep headlamp

如果上面三条命令敲下去,什么也没有输出,恭喜你,这片赛博空地已经彻底清理干净,网络拓扑也恢复到了最纯粹的状态。

包工头语录:能够随时随地一键搭建,也能胸有成竹一键销毁,才是掌控 Kubernetes 的终极自由!准备好这片干净的土地,我们要准备迎接下一个重磅工程了。