zoukankan      html  css  js  c++  java
  • 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
    

    这样就可以删掉了

    我有梦,有远方,我会为了它们奔跑,奋斗,直到成为连我自己都佩服的人。
  • 相关阅读:
    功能强大的T4文本模版
    C#中.snk文件的作用
    ASP.NET MVC中实现多个按钮提交的几种方法
    asp.net mvc强大的分页控件MvcPager
    设计模式—观察者模式
    Http响应码

    编码习惯
    vim 快捷键 转
    makefilevvhttp://www.tudou.com/programs/view/e3Z8RbxFIZE/
  • 原文地址:https://www.cnblogs.com/fengdejiyixx/p/15193087.html
Copyright © 2011-2022 走看看