美文网首页
k8s的namespace资源一直terminating问题解决

k8s的namespace资源一直terminating问题解决

作者: 街上太拥挤 | 来源:发表于2021-03-12 17:14 被阅读0次

    背景

    删除ns时,有时候会一直卡在terminating的状态,无法删除,此时会引发一些问题,所以试了两种方法,记录下来


    假定ns名称为test

    方法一

    通过强制删除,并且设置优雅删除时间为0(默认为30s)

    $ kubectl delete ns test --force --grace-period=0
    

    博主试了方法一之后还是无法删除,经过网上冲浪之后找到了方法二

    方法二

    通过k8s提供的api接口,把.spec.finalizers字段及其内容删除,从而k8s会直接将该ns删除

    1. 把该ns导出为json格式的文件
    $ kubectl get ns test -ojson > test.json
    
    1. vi编辑该test.json文件,把.spec.finalizers字段删除
    2. 另开一个终端,开启k8s apiserver的一个http代理,以免必须带上证书才能访问
    $ kubectl proxy --port=8081
    

    在调用api接口结束后,可以ctrl+c终止代理

    1. 调用api接口修改ns
    // 注意替换ns名称
    $ curl -k -H "Content-Type:application/json" -X PUT --data-binary @test.json http://127.0.0.1:8081/api/v1/namespaces/test/finalize
    

    至此,不出意外应该删除成功了,如果没有的话,请继续网上冲浪吧...

    相关文章

      网友评论

          本文标题:k8s的namespace资源一直terminating问题解决

          本文链接:https://www.haomeiwen.com/subject/epezqltx.html