configuration 命名空间_kubernetes30:monitoring命名空间处于Terminating状态的处理方法...

删除monitoring命名空间时总也无法彻底删除,发现monitoring处于Terminating状态,故有此文。

kubectl get namespaces -o wide

fdfd31bd74742e5b10cf3613f6e66ec5.png

解决:尝试使用force delete。

kubectl delete namespace monitoring  --force --grace-period=0

7c9616fcd28b526779f106a18a2c1847.png

发现强制删除没有成功。

这样解决,制作delete namespace的json报文发送给proxy调用api删除namespace:

NAMESPACE=monitoring

开启proxy方便我们调用k8s api进行delete namespace操作。

kubectl proxy &

c6d24e4bb955ece7e7060e962270e5f7.png

生成要发送的json报文:(需要安装jq:yum install jq)

kubectl get namespace $NAMESPACE -o json |jq '.spec = {"finalizers":[]}' >temp.json

将内容中的红色部分删除后保存:

{

  "apiVersion": "v1",

  "kind": "Namespace",

  "metadata": {

    "annotations": {

      "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Namespace\",\"metadata\":{\"annotations\":{},\"name\":\"monitoring\"}}\n"

    },

    "creationTimestamp": "2019-12-02T12:22:18Z",

    "deletionTimestamp": "2020-10-22T08:51:53Z",

    "name": "monitoring",

    "resourceVersion": "3324381",

    "selfLink": "/api/v1/namespaces/monitoring",

    "uid": "61f2295a-14fe-11ea-8f87-00163e054564"

  },

  "spec": {

    "finalizers": []

  },

  "status": {

    "phase": "Terminating"

  }

}

发送删除命名空间的报文给k8s集群:

curl -k -H "Content-Type: application/json" -X PUT --data-binary @temp.json 127.0.0.1:8001/api/v1/namespaces/$NAMESPACE/finalize

monitoring命名空间删除成功,验证:kubectl get namespaces

55314fa1009da2c5523052ba91a0f017.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值