k8s 解决运行kubectl api-resources报错“the server is currently unable to handle the request”

故障现象:
在这里插入图片描述

查看发现有一个false的服务

在这里插入图片描述
把这个服务删除即可
在这里插入图片描述

在这里插入图片描述

删除一个 namespace 卡住了,始终处于 Terminating 状态,网上说的将 finalizers 中的数据删除没有成功

可以使用下面的命令来强制删除:(不建议使用)

NAMESPACE=your-rogue-namespace
kubectl proxy &
kubectl get namespace $NAMESPACE -o json |jq '.spec = {"finalizers":[]}' > temp.json
curl -k -H "Content-Type: application/json" -X PUT --data-binary @temp.json 127.0.0.1:8001/api/v1/namespaces/$NAMESPACE/finalize

该方法可能会残留一些其他资源,不建议使用。

下面的命令可以显示你删除命名空间下面仍然存在的一些资源对象:(建议使用这种方式)

kubectl api-resources --verbs=list --namespaced -o name \
  | xargs -n 1 kubectl get --show-kind --ignore-not-found -n <namespace>

找到这些资源对象解决问题然后删除它们,你删除的命名空间就可以被删除了。

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐