Kubernetes(K8S)中強(qiáng)制刪除命名空間的實(shí)現(xiàn)方式
當(dāng) Kubernetes 中的命名空間 mysql-operator 一直處于 Terminating 狀態(tài)無法刪除時,通常是由于資源未被正確清理或 finalizers 未完成導(dǎo)致的。
以下是分步驟的解決方案:
一、檢查并清理殘留資源
1. 列出命名空間下的所有資源
kubectl get all --namespace=mysql-operator #檢查是否有未被刪除的 Pod、Deployment、Service、PVC 等資源。
2. 手動刪除殘留資源
#如果發(fā)現(xiàn)殘留資源,逐個刪除: kubectl delete pod <pod-name> -n mysql-operator kubectl delete deployment <deployment-name> -n mysql-operator kubectl delete service <service-name> -n mysql-operator kubectl delete pvc <pvc-name> -n mysql-operator #重復(fù)此操作直至所有資源被清除。
二、強(qiáng)制刪除命名空間(終極方案)
如果清理殘留資源后仍無法刪除命名空間,可能是 finalizers 未完成導(dǎo)致的。此時需通過編輯命名空間配置來強(qiáng)制刪除。
1. 導(dǎo)出命名空間配置
kubectl get namespace mysql-operator -o json > mysql-operator.json
2. 編輯 JSON 文件
使用文本編輯器打開 mysql-operator.json,找到 spec.finalizers 字段(通常為 [“kubernetes”]),將其清空:
json
"spec": {
"finalizers": []
}
3. 通過 API 強(qiáng)制刪除
啟動 kubectl proxy 以訪問 API 服務(wù)器:
kubectl proxy --port=8001 & #使用 curl 提交修改后的 JSON 文件: curl -k -H "Content-Type: application/json" -X PUT --data-binary @mysql-operator.json http://localhost:8001/api/v1/namespaces/mysql-operator/finalize
4. 驗(yàn)證刪除結(jié)果
kubectl get namespace mysql-operator
#如果命名空間已消失,說明刪除成功。
#強(qiáng)制刪除pod
kubectl delete pod mycluster-0 --grace-period=0 --force
kubectl patch pod mycluster-0 -p '{"metadata":{"finalizers":null}}' --type=merge
#通過 patch 命令強(qiáng)制移除InnoDBCluster資源:
kubectl patch innodbcluster <cluster-name> -n <namespace> --type=json -p='[{"op": "remove", "path": "/metadata/finalizers"}]'
docker system prune -a
volumes: - name: datadir persistentVolumeClaim: claimName: datadir-mycluster-0 datadirVolumeClaimTemplate
總結(jié)
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Rainbond云原生快捷部署生產(chǎn)可用的Gitlab步驟詳解
這篇文章主要為大家介紹了Rainbond云原生快捷部署生產(chǎn)可用的Gitlab步驟詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-04-04
Istio 自動注入 sidecar 失敗導(dǎo)致無法訪問webhook服務(wù)的解決方法
最近工作中在部署Istio環(huán)境的過程中發(fā)現(xiàn)官方示例啟動的pod不能訪問不到Istio的webhook,這個問題也是困擾了我一天,我把他歸類到sidecar注入失敗的情況下,本文給大家分享問題解決方法,感興趣的朋友跟隨小編一起看看吧2023-10-10
K8S Helm應(yīng)用部署與依賴治理實(shí)戰(zhàn)教程
文章闡述了Kubernetes部署中的三大挑戰(zhàn)(環(huán)境配置漂移、版本回退失控、依賴治理低效),并介紹Helm通過聲明式模板、版本控制與依賴管理實(shí)現(xiàn)標(biāo)準(zhǔn)化配置、環(huán)境隔離和版本回滾,提升部署效率與可靠性,對K8S Helm應(yīng)用部署相關(guān)知識感興趣的朋友一起看看吧2025-07-07
ES業(yè)務(wù)數(shù)據(jù)遷移遇到的精度問題BUG
這篇文章主要為大家介紹了ES業(yè)務(wù)數(shù)據(jù)遷移遇到的BUG精度問題,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06

