• k8s如何删除处于terminating状态的ns资源


    假设你要删掉两个ns资源,发现一直删不了处于terminating状态

    首先试一下先把这个ns的所有pod都删掉

    kubectl delete pod --all -n istio-system
    

    还是不行的话,加个参数强制删除

    kubectl delete pod --grace-period=0 –force 
    

    如果依然是卡死状态,就要使用下面的必杀技了

    首先生成一个tmp.json文件

     kubectl get namespace <terminating-namespace> -o json >tmp.json
    
     apiVersion: v1
     kind: Namespace
     metadata:
       creationTimestamp: 2018-11-19T18:48:30Z
       deletionTimestamp: 2018-11-19T18:59:36Z
       name: <terminating-namespace>
       resourceVersion: "1385077"
       selfLink: /api/v1/namespaces/<terminating-namespace>
       uid: b50c9ea4-ec2b-11e8-a0be-fa163eeb47a5
     spec:
       finalizers:
       - kubernetes
     status:
       phase: Terminating
    

    然后修改这个json文件,把finalizers的kubernetes删掉

     apiVersion: v1
     kind: Namespace
     metadata:
       creationTimestamp: 2018-11-19T18:48:30Z
       deletionTimestamp: 2018-11-19T18:59:36Z
       name: <terminating-namespace>
       resourceVersion: "1385077"
       selfLink: /api/v1/namespaces/<terminating-namespace>
       uid: b50c9ea4-ec2b-11e8-a0be-fa163eeb47a5
     spec:
       finalizers:
       - 
     status:
       phase: Terminating
    

    然后把本机服务暴露在本地端口的8001端口上

    kubectl proxy
    
    Starting to serve on 127.0.0.1:8001
    

    新开一个terminal,把修改后的tmp.json到要删除的ns资源目录下

     curl -k -H "Content-Type: application/json" -X PUT --data-binary @tmp.json http://127.0.0.1:8001/api/v1/namespaces/<terminating-namespace>/finalize
    

    这样就可以删掉了

    我有梦,有远方,我会为了它们奔跑,奋斗,直到成为连我自己都佩服的人。
  • 相关阅读:
    125-PHP类__set()魔术方法
    124-PHP类析构函数
    123-PHP类构造函数
    122-PHP类成员函数(三)
    121-PHP类成员函数(二)
    120-PHP调用成员方法并将不同类的对象做为参数
    119-PHP调用private成员的方法
    118-PHP调用带参数的成员方法
    117-PHP在外部无法调用private类成员函数
    HDU-2045 不容易系列之(3)—— LELE的RPG难题 找规律&递推
  • 原文地址:https://www.cnblogs.com/fengdejiyixx/p/15193087.html
Copyright © 2020-2023  润新知