美文网首页
k8s api-versions no matches

k8s api-versions no matches

作者: JonahCui | 来源:发表于2019-12-31 11:26 被阅读0次

这是一篇水文,很水的那种
最近要换项目,部署环境时需要用到k8s,本地直接运行如下代码报错:

kubectl create -f nginx.yaml

错误如下:

unable to recognize "in-proxy.yml": no matches for kind "Deployment" in version "apps/v1beta2"

问题分析

k8s用api version管理配置中的各种对象,例如Deployment等,可以在Which Kubernetes apiVersion Should I Use?中查阅相关api对应的api version。
也可以在本机利用如下命令查询,当前K8s所支持的api-version:

kubectl api-versions

查询后发现当前K8s不支持"apps/v1beta2"。启动minikube时可以看到本机kubernates版本为1.16.2,也可以直接用kubectl version查看client和server的版本。

> $ minikube start --image-repository=registry.cn-hangzhou.aliyuncs.com/google_containers
🙄  Darwin 10.15.1 上的 minikube v1.5.2
✅  正在使用映像存储库 registry.cn-hangzhou.aliyuncs.com/google_containers
💡  Tip: Use 'minikube start -p <name>' to create a new cluster, or 'minikube delete' to delete this one.
🏃  Using the running parallels "minikube" VM ...
⌛  Waiting for the host to be provisioned ...
🐳  正在 Docker '18.09.9' 中准备 Kubernetes v1.16.2…
🔄  Relaunching Kubernetes using kubeadm ...

解决问题

k8s官方文档中发现v1beta2.Deployment已经被标记为DEPRECATED, 应该使用api/v1代替。将apiVersions改为api/v1,pod起动成功。

deployment等资源在1.6版本时放在extensions/v1beta1中,后迁入到apps/v1beta2,再到apps/v1中统一管理

相关文章

网友评论

      本文标题:k8s api-versions no matches

      本文链接:https://www.haomeiwen.com/subject/nrjboctx.html