创建新的命名空间报错
[ haima@KS-STAG-NODE01 ~] $ kubectl create namespace test01
Error from server ( InternalError) : Internal error occurred: failed calling webhook "rancher.cattle.io.namespaces.create-non-kubesystem" : Post "https://rancher-webhook.cattle-system.svc:443/v1/webhook/validation/namespaces?timeout=10s" : service "rancher-webhook" not found[ haima@KS-STAG-NODE01 ~] $ kubectl get node
NAME STATUS ROLES AGE VERSION
vm10-200-30-253.ksc.com Ready node 315d v1.21.3
vm10-200-31-129.ksc.com Ready master 315d v1.21.3
vm10-200-31-132.ksc.com Ready node 315d v1.21.3
vm10-200-31-158.ksc.com Ready node 315d v1.21.3
vm10-200-31-217.ksc.com Ready master 315d v1.21.3
vm10-200-31-250.ksc.com Ready node 315d v1.21.3
vm10-200-31-31.ksc.com Ready node 315d v1.21.3
vm10-200-31-91.ksc.com Ready master 315d v1.21.3
解决方案
我当时删除rancher接入的时是直接删除的命名空间,当时删除命名空间时也报错了,可以参考:https://editor.csdn.net/md/?articleId=137471787
[ haima@KS-STAG-NODE01 ~] $ kubectl get MutatingWebhookConfiguration
NAME WEBHOOKS AGE
rancher-monitoring-admission 1 22h
rancher.cattle.io 4 25h[ haima@KS-STAG-NODE01 ~] $ kubectl delete MutatingWebhookConfiguration rancher.cattle.io
mutatingwebhookconfiguration.admissionregistration.k8s.io "rancher.cattle.io" deleted[ haima@KS-STAG-NODE01 ~] $ kubectl delete MutatingWebhookConfiguration rancher-monitoring-admission
mutatingwebhookconfiguration.admissionregistration.k8s.io "rancher-monitoring-admission" deleted[ haima@KS-STAG-NODE01 ~] $ kubectl get ValidatingWebhookConfiguration
NAME WEBHOOKS AGE
prod-admission 1 118d
rancher-monitoring-admission 1 22h
rancher.cattle.io 7 25h
stag-nginx-admission 1 314d[ haima@KS-STAG-NODE01 ~] $ kubectl delete ValidatingWebhookConfiguration rancher-monitoring-admission
validatingwebhookconfiguration.admissionregistration.k8s.io "rancher-monitoring-admission" deleted[ haima@KS-STAG-NODE01 ~] $ kubectl delete ValidatingWebhookConfiguration rancher.cattle.io
validatingwebhookconfiguration.admissionregistration.k8s.io "rancher.cattle.io" deleted[ haima@KS-STAG-NODE01 ~] $ kubectl create namespace test01
namespace/test01 created
MutatingWebhookConfiguration
在 Kubernetes 中,MutatingWebhookConfiguration 是一种资源,用于配置 Mutating Admission Webhook。Mutating Admission Webhook 是一种 Kubernetes 功能,它允许您定义自定义逻辑以修改正在创建或更新的对象,例如 Pod、Deployment 等。这种修改可以是自动化的,例如为容器注入 sidecar 容器、设置标签或注解等。MutatingWebhookConfiguration 允许您配置 Webhook 服务的端点以及何时触发 Webhook 的条件。例如,您可以配置 MutatingWebhookConfiguration,在每次创建新的 Pod 时触发一个 Webhook,该 Webhook 会在 Pod 中注入一些容器或者修改 Pod 的标签或注解。总的来说,MutatingWebhookConfiguration 提供了一种强大的机制,可以在 Kubernetes 中实现自定义的对象修改逻辑,从而实现更灵活和智能的资源管理。
ValidatingWebhookConfiguration
在 Kubernetes 中,ValidatingWebhookConfiguration 是一种资源,用于配置 Validating Admission Webhook。Validating Admission Webhook 是 Kubernetes 的一种功能,它允许您定义自定义逻辑来验证正在创建或更新的对象,例如 Pod、Deployment 等。这种验证逻辑可以用于强制执行一些策略或规则,以确保对象的创建或更新满足特定的要求。ValidatingWebhookConfiguration 允许您配置 Webhook 服务的端点以及何时触发 Webhook 的条件。例如,您可以配置 ValidatingWebhookConfiguration,在每次创建新的 Pod 时触发一个 Webhook,该 Webhook 会验证 Pod 是否符合特定的策略,例如检查容器的资源请求、标签或注解等。总的来说,ValidatingWebhookConfiguration 提供了一种强大的机制,可以在 Kubernetes 中实现自定义的对象验证逻辑,从而确保对象的创建或更新符合特定的规范或策略。
建议使用官方推荐方法卸载rancher接入
https://docs.rancher.cn/docs/rancher2/system-tools/_index/