我想删除一个k8s命名空间,但是我得到了这个错误,但仍然没有意识到如何解决它。有人能帮忙吗?
来自服务器的
错误(InternalError):发生内部错误:调用web钩子“namespace.validators.kubedb.com”失败:服务器当前无法处理请求
发布于 2022-04-06 15:33:44
使用问题中提供的信息,错误指出在validators命名空间中配置了一个validators,并且这个webhook没有响应或丢失。
来自服务器的
错误(InternalError):发生内部错误:调用web钩子“namespace.validators.kubedb.com”失败:服务器当前无法处理请求
您可以通过运行以下命令来检查验证wehb钩子:
kubectl get validatingwebhookconfigurations.admissionregistration.k8s.io从下面的输出中可以清楚地看到,您的服务没有任何端点(Pods)来转发请求。
kubectl get ep -n validators
No resources found in validators namespace.要解决这个问题,您需要检查验证web钩子并修复或删除它。
由于OP在验证器命名空间中提供了endpoints的输出,因此没有与服务相关联的端点。在这种情况下,这种行为似乎是预料之中的。为了帮助OP调试这个问题,下面是一个简单的演示,展示了服务/豆荚/端点之间的关系。
//下面是服务部门将公开的吊舱。
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//注意,不存在与吊舱相关的服务端点和端点
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的服务公开吊舱。
k expose pod my-pod --name my-pod-svc --port 80
service/my-pod-svc exposed//现在请注意服务、端点及其IP。
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连接到吊舱。
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)。这也意味着,删除服务的端点。
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现在检查端点状态:
k get ep -l app=nginx
NAME ENDPOINTS AGE
my-pod-svc <none> 11m现在试图连接到my svc服务:
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)https://stackoverflow.com/questions/71768157
复制相似问题