no matches for kind ☸️ Kubernetes

no matches for kind "Ingress" in version "extensions/v1beta1" (resource mapping not found)

The manifest uses an apiVersion/kind the cluster doesn’t serve — a removed beta API, or a CRD that isn’t installed.

Seen on: Kubernetes

Meaning

Kubernetes removes deprecated APIs on schedule: extensions/v1beta1 Ingress (1.22), policy/v1beta1 PodSecurityPolicy (1.25), batch/v1beta1 CronJob (1.25), autoscaling/v2beta2 HPA (1.26). Custom kinds (Certificate, ServiceMonitor) need their CRDs installed first.

Common causes

  • Old apiVersion removed in your cluster version
  • CRD not installed (cert-manager, Prometheus operator)
  • Applying CRs before CRDs in the same apply
  • Typo in kind

⚡ Quick fix

  1. Update apiVersion (e.g. networking.k8s.io/v1) and adjust the spec
  2. Install the operator/CRDs first
  3. Check what the cluster serves: kubectl api-resources

Detailed fix by platform

Kubernetes

  1. bash
    kubectl api-resources | grep -i ingress
    kubectl explain ingress --api-version=networking.k8s.io/v1

How to diagnose

  1. Served — kubectl api-versions
  2. CRD — kubectl get crd | grep kind
  3. Version — kubectl version

🔧 Still not fixed?

Many errors look alike. If the steps above didn’t solve it, one of these is probably what you’re facing:

🧠 Still stuck? Analyze your error

Paste the full message, response headers or stack trace — we'll detect the platform and point to the most likely cause.