如何删除default命名空间中的指定Ingress资源?
问题:删除Ingress资源失败,报错“the server doesn't have a resource type 'abc-ingress'”
尝试删除default命名空间下名为abc-ingress的Ingress资源时,执行命令kubectl delete abc-ingress -n default报错,提示服务器不存在名为abc-ingress的资源类型,但通过kubectl get ingress能确认该资源确实存在。
相关命令输出:
# kubectl get ingress Warning: extensions/v1beta1 Ingress is deprecated in v1.14+, unavailable in v1.22+; use networking.k8s.io/v1 Ingress NAME CLASS HOSTS ADDRESS PORTS AGE abc-ingress <none> app.company.com 80 24h
kubectl describe ingress jenkins-ingress Warning: extensions/v1beta1 Ingress is deprecated in v1.14+, unavailable in v1.22+; use networking.k8s.io/v1 Ingress Name: abc-ingress Namespace: default Address: Default backend: default-http-backend:80 (<error: endpoints "default-http-backend" not found>) Rules: Host Path Backends ---- ---- -------- abc.company.com / app-svc:80 (<error: endpoints "app-svc" not found>) Annotations: <none> Events: <none>
# kubectl delete abc-ingress -n default error: the server doesn't have a resource type "abc-ingress"
解决方法
报错核心原因是命令格式错误:kubectl delete命令需要先指定资源类型,再传入资源名称。你之前的命令把资源名称abc-ingress当成了资源类型,导致Kubernetes无法识别。
执行以下正确命令即可完成删除:
方法1:通用指定资源类型
kubectl delete ingress abc-ingress -n default
方法2:指定API版本(兼容旧版本Ingress)
由于你的Ingress使用的是已废弃的extensions/v1beta1版本,若方法1执行有异常,可明确指定API版本:
kubectl delete ingress.extensions abc-ingress -n default # 或使用当前推荐的API组 kubectl delete ingress.networking.k8s.io abc-ingress -n default
内容的提问来源于stack exchange,提问作者user4948798
相关产品推荐
相关产品推荐

