首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法删除k8s命名空间

无法删除k8s命名空间
EN

Stack Overflow用户
提问于 2022-04-06 13:59:37
回答 1查看 566关注 0票数 0

我想删除一个k8s命名空间,但是我得到了这个错误,但仍然没有意识到如何解决它。有人能帮忙吗?

来自服务器的

错误(InternalError):发生内部错误:调用web钩子“namespace.validators.kubedb.com”失败:服务器当前无法处理请求

EN

回答 1

Stack Overflow用户

发布于 2022-04-06 15:33:44

使用问题中提供的信息,错误指出在validators命名空间中配置了一个validators,并且这个webhook没有响应或丢失。

来自服务器的

错误(InternalError):发生内部错误:调用web钩子“namespace.validators.kubedb.com”失败:服务器当前无法处理请求

您可以通过运行以下命令来检查验证wehb钩子:

代码语言:javascript
复制
kubectl get validatingwebhookconfigurations.admissionregistration.k8s.io

从下面的输出中可以清楚地看到,您的服务没有任何端点(Pods)来转发请求。

代码语言:javascript
复制
kubectl get ep -n validators
No resources found in validators namespace.

要解决这个问题,您需要检查验证web钩子并修复或删除它。

由于OP在验证器命名空间中提供了endpoints的输出,因此没有与服务相关联的端点。在这种情况下,这种行为似乎是预料之中的。为了帮助OP调试这个问题,下面是一个简单的演示,展示了服务/豆荚/端点之间的关系。

//下面是服务部门将公开的吊舱。

代码语言:javascript
复制
kubectl get pod my-pod -owide --show-labels
NAME     READY   STATUS    RESTARTS   AGE   IP            NODE            NOMINATED NODE   READINESS GATES   LABELS
my-pod   1/1     Running   0          22s   10.233.72.6   kube-worker-3   <none>           <none>            app=nginx

//注意,不存在与吊舱相关的服务端点和端点

代码语言:javascript
复制
k get svc -l app=nginx
No resources found in default namespace.

k get ep -l app=nginx
No resources found in default namespace.

//通过名为my- pod -svc的服务公开吊舱。

代码语言:javascript
复制
k expose pod my-pod --name my-pod-svc --port 80
service/my-pod-svc exposed

//现在请注意服务、端点及其IP。

代码语言:javascript
复制
k get svc -l app=nginx
NAME         TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)   AGE
my-pod-svc   ClusterIP   10.233.26.82   <none>        80/TCP    21s
    
k get ep -l app=nginx
NAME         ENDPOINTS        AGE
my-pod-svc   10.233.72.6:80   7s

//试图通过服务(my- pod -svc) IP连接到吊舱。

代码语言:javascript
复制
kubectl run tmp-shell --restart=Never --rm -i --tty --image busybox -- wget -nv 10.233.26.82 -o -
Connecting to 10.233.26.82 (10.233.26.82:80)
saving to 'index.html'
index.html           100% |********************************|   615  0:00:00 ETA
'index.html' saved
pod "tmp-shell" deleted

现在删除由服务my-pod-svc公开的pod(my-pod)。这也意味着,删除服务的端点。

代码语言:javascript
复制
 k delete  pod my-pod --force --grace-period 0
warning: Immediate deletion does not wait for confirmation that the running resource has been terminated. The resource may continue to run on the cluster indefinitely.
pod "my-pod" force deleted

现在检查端点状态:

代码语言:javascript
复制
k get ep -l app=nginx
NAME         ENDPOINTS   AGE
my-pod-svc   <none>      11m

现在试图连接到my svc服务:

代码语言:javascript
复制
kubectl run tmp-shell --restart=Never --rm -i --tty --image busybox -- wget -nv 10.233.26.82 -o -
If you don't see a command prompt, try pressing enter.
wget: can't connect to remote host (10.233.26.82): Connection refused
pod "tmp-shell" deleted
pod default/tmp-shell terminated (Error)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71768157

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档