最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Kubernetes刪除ns實現(xiàn)方式(namespace)

 更新時間:2026年01月28日 14:51:49   作者:瀟灑哥Kahn  
文章介紹了在Kubernetes中刪除無法正常刪除的命名空間(namespace)的幾種方法,首先,通過查看和修改命名空間的JSON文件來刪除`finalizers`,然后使用`kubectl proxy`命令來繞過Kubernetes的安全機制,最終成功刪除了命名空間

一、前言

刪除某個應(yīng)用或模塊的時候,可能會出現(xiàn)命名空間的狀態(tài)一直處于Terminating狀態(tài),無論是重啟k8s還是重啟所有服務(wù)器都沒卵用。

k8s遇到有無法刪除的ns(namespace)命名空間的時候,可以嘗試幾種刪除方式

二、刪除命名空間namespace

1、先查看k8s

[root@k8s-master1 ~]# kubectl get ns
NAME                          STATUS        AGE
cattle-impersonation-system   Terminating   2d14h
cattle-system                 Terminating   2d14h
default                       Active        13d
ingress-nginx                 Terminating   4d13h
kube-node-lease               Active        13d
kube-public                   Active        13d
kube-system                   Active        13d
monitoring                    Active        12d

2、可以先逐步嘗試以下幾種刪除kubernetes命名空間namespace的方法

kubectl delete ns <要刪除的命名空間>
kubectl delete ns <要刪除的命名空間> --froce
kubectl delete ns <要刪除的命名空間> --force --grace-period=0

3、如果上面的3中方法依然無法刪除kubernetes命名空間,則可以再嘗試使用接口去刪除

三、使用接口的方式刪除kubernetes命名空間

1、獲取命名空間的json文件,下面以刪除ingress-nginx這個命名空間為例。

kubectl get ns ingress-nginx -o json > delete-ns-ingress-nginx.json

如得到的源文件:

{
    "apiVersion": "v1",
    "kind": "Namespace",
    "metadata": {
        "annotations": {
            "cattle.io/status": "{\"Conditions\":[{\"Type\":\"ResourceQuotaInit\",\"Status\":\"True\",\"Message\":\"\",\"LastUpdateTime\":\"2023-06-28T22:44:35Z\"},{\"Type\":\"InitialRolesPopulated\",\"Status\":\"True\",\"Message\":\"\",\"LastUpdateTime\":\"2023-06-28T22:44:41Z\"}]}",
            "field.cattle.io/projectId": "c-m-x64sl2w6:p-4845x",
            "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Namespace\",\"metadata\":{\"annotations\":{},\"labels\":{\"app.kubernetes.io/instance\":\"ingress-nginx\",\"app.kubernetes.io/name\":\"ingress-nginx\"},\"name\":\"ingress-nginx\"}}\n",
            "lifecycle.cattle.io/create.namespace-auth": "true",
            "management.cattle.io/no-default-sa-token": "true"
        },
        "creationTimestamp": "2023-06-26T15:26:03Z",
        "deletionGracePeriodSeconds": 0,
        "deletionTimestamp": "2023-06-29T15:06:06Z",
        "finalizers": [
            "controller.cattle.io/namespace-auth"            #刪除這一行,并且保持finalizers數(shù)組為空,即[]
        ],
        "labels": {
            "app.kubernetes.io/instance": "ingress-nginx",
            "app.kubernetes.io/name": "ingress-nginx",
            "kubernetes.io/metadata.name": "ingress-nginx"
        },
        "name": "ingress-nginx",
        "resourceVersion": "147165",
        "uid": "7dc28b36-5960-4237-b1b5-41b8d6e20f7c"
    },
    "spec": {},
    "status": {
        "conditions": [
            {
                "lastTransitionTime": "2023-06-29T15:06:14Z",
                "message": "All resources successfully discovered",
                "reason": "ResourcesDiscovered",
                "status": "False",
                "type": "NamespaceDeletionDiscoveryFailure"
            },
            {
                "lastTransitionTime": "2023-06-29T15:06:14Z",
                "message": "All legacy kube types successfully parsed",
                "reason": "ParsedGroupVersions",
                "status": "False",
                "type": "NamespaceDeletionGroupVersionParsingFailure"
            },
            {
                "lastTransitionTime": "2023-06-29T15:06:14Z",
                "message": "All content successfully deleted, may be waiting on finalization",
                "reason": "ContentDeleted",
                "status": "False",
                "type": "NamespaceDeletionContentFailure"
            },
            {
                "lastTransitionTime": "2023-06-29T15:08:52Z",
                "message": "All content successfully removed",
                "reason": "ContentRemoved",
                "status": "False",
                "type": "NamespaceContentRemaining"
            },
            {
                "lastTransitionTime": "2023-06-29T15:06:14Z",
                "message": "All content-preserving finalizers finished",
                "reason": "ContentHasNoFinalizers",
                "status": "False",
                "type": "NamespaceFinalizersRemaining"
            }
        ],
        "phase": "Terminating"
    }
}

2、搜索json文件中finalizers,將其數(shù)組置空。如本次沒刪之前

 

 3、在k8s的master節(jié)點上開啟proxy

kubectl proxy

 注意看端口是8001

4、再開一個k8s-master節(jié)點的終端以便我們執(zhí)行命令

curl -k -H "Content-Type: application/json" -X PUT --data-binary @delete-ns-ingress-nginx.json http://127.0.0.1:8001/api/v1/namespaces/ingress-nginx/finalize

注:delete-ns-ingress-nginx.json 是剛才你導(dǎo)出并修改后的json文件,注意執(zhí)行命令的時候前面有@字符。

http://127.0.0.1:8001/api/v1/namespaces/ingress-nginx/finalize 中的 ingress-nginx 換成你要刪除的命名空間字符串

執(zhí)行完命令后,又返回一堆的字符串,不用管它。

5、再次查看所有Kubernetes的命名空間看目標ns是否被刪除了

可以看到本次要刪除的命名空間ingress-nginx已經(jīng)被徹底干掉了。

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。 

相關(guān)文章

  • Kubernetes如何限制不同團隊只能訪問各自namespace實現(xiàn)

    Kubernetes如何限制不同團隊只能訪問各自namespace實現(xiàn)

    這篇文章主要為大家介紹了Kubernetes如何限制不同團隊只能訪問各自namespace實現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-04-04
  • IoT邊緣集群Kubernetes?Events告警通知實現(xiàn)示例

    IoT邊緣集群Kubernetes?Events告警通知實現(xiàn)示例

    這篇文章主要為大家介紹了IoT邊緣集群Kubernetes?Events告警通知實現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-02-02
  • 詳解kubernetes pod的編排和生命周期

    詳解kubernetes pod的編排和生命周期

    這篇文章主要介紹了kubernetes pod的編排和生命周期的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)使用K8S,感興趣的朋友可以了解下
    2021-04-04
  • k8s入門實戰(zhàn)deployment使用詳解

    k8s入門實戰(zhàn)deployment使用詳解

    這篇文章主要為大家介紹了k8s入門實戰(zhàn)deployment使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03
  • k8s?pod始終處于pending狀態(tài)的解決方案

    k8s?pod始終處于pending狀態(tài)的解決方案

    新K8s部署后服務(wù)重啟導(dǎo)致dashboard無法訪問,所有Pod處于Pending狀態(tài),原因分析顯示,因節(jié)點污點引發(fā)調(diào)度失敗,刪除污點后問題解決,總結(jié)Pending原因分為三類:調(diào)度問題(污點、資源不足)、鏡像問題(拉取失?。?、依賴性問題(卷/Secret/ConfigMap缺失)
    2025-08-08
  • K8s實戰(zhàn)教程之容器和?Pods資源分配問題

    K8s實戰(zhàn)教程之容器和?Pods資源分配問題

    這篇文章主要介紹了K8s實戰(zhàn)教程之容器和?Pods資源分配,本篇文章通過配置集群中運行的容器的?CPU?請求和限制,你可以有效利用集群上可用的?CPU?資源,通過將?Pod?CPU?請求保持在較低水平,可以使?Pod?更有機會被調(diào)度,需要的朋友可以參考下
    2022-07-07
  • kubernetes需要默認的serviceaccount的原因解析

    kubernetes需要默認的serviceaccount的原因解析

    這篇文章主要介紹了kubernetes為何需要默認的serviceaccount,ServiceAccount 是 Kubernetes 中的一種重要概念,它的實際使用場景包括很多,本文給大家講解的非常詳細,需要的朋友可以參考下
    2023-04-04
  • Kubernetes?權(quán)限管理認證鑒權(quán)詳解

    Kubernetes?權(quán)限管理認證鑒權(quán)詳解

    這篇文章主要為大家介紹了Kubernetes?權(quán)限管理認證鑒權(quán)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-11-11
  • 再分享6個可無限激活阿里云盤邀請碼,不信你不能激活阿里云盤

    再分享6個可無限激活阿里云盤邀請碼,不信你不能激活阿里云盤

    這篇文章主要分享6個可無限激活的阿里云盤邀請碼,不信你不能激活阿里云盤,需要的朋友可以參考下
    2020-11-11
  • 不同k8s集群間服務(wù)如何相互訪問實現(xiàn)詳解

    不同k8s集群間服務(wù)如何相互訪問實現(xiàn)詳解

    這篇文章主要為大家介紹了不同k8s集群間服務(wù)如何相互訪問實現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-04-04

最新評論

屏山县| 犍为县| 乐山市| 宁都县| 陇西县| 陈巴尔虎旗| 光泽县| 泽州县| 轮台县| 儋州市| 沈丘县| 曲沃县| 从化市| 惠东县| 霍邱县| 武威市| 东乌珠穆沁旗| 旌德县| 论坛| 娄底市| 瑞昌市| 嘉义市| 大余县| 舟曲县| 上杭县| 永州市| 嘉义县| 石狮市| 永顺县| 合川市| 基隆市| 嘉兴市| 武胜县| 林口县| 科技| 运城市| 襄垣县| 绍兴县| 二连浩特市| 随州市| 巢湖市|