I recently ran into this when applying a Deployment that has always worked for me in my repo.

# kubectl create -f deployment.yaml 
error: unable to recognize "deployment.yaml": no matches for kind "Deployment" in version "extensions/v1beta1"

One recent change I did do, was upgrade to Kubernetes version 1.16.

Googling around, I found out that the Deployment version of extensions/v1beta1 was deprecated and to use the new version. Just like the error told me to =).

The old deployment yaml:

---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: echoserver
...
...
...

The new deployment yaml:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: echoserver
...
...
...

Notice the apiVersion changed.

By changing that, I was able to deploy.

More info about deprecation: https://kubernetes.io/blog/2019/07/18/api-deprecations-in-1-16/

I'd love your feedback on if my solution solved your problem: Are you still having issues with Kubernetes?

Yes
No

More troubleshooting blog posts

Contact me if you have any questions about this or want to chat, happy to start a dialog or help out: blogs@managedkube.com