按照创建部署的文档,我有一个像这样的.yaml文件:
apiVersion: extensions/v1beta1
kind: Deployment
...
我不确定要对" extensions / v1beta1"做什么,所以我最终here in the API docs。
这听起来好像我应该使用" v1"的值,但当我尝试kubectl apply
我的.yaml文件时,这似乎无效。
有人可以帮助我更好地理解 apiVersion 值的含义以及如何确定每个组件使用的最佳值?
哦,我正在使用minikube和" kubectl版本"报告客户端和服务器是" GitVersion:" v1.3.0"。
答案 0 :(得分:11)
您链接的文档来自Kubernetes 1.0(一年前)发布之前。那时,我们有API的beta版本,并且正在迁移到v1 API。从那时起,我们引入了多个API组,每个API组可以拥有不同的版本。该版本表明API的成熟度(alpha正在积极开发中,beta意味着它将具有兼容性/可升级性保证,v1意味着它稳定)。部署API目前属于第二类,因此使用extensions/v1beta1
是正确的。
答案 1 :(得分:0)
from documentation suggested by @Vern DeHaven
扩展程序/ v1beta1
此版本的API包含许多Kubernetes的常用新功能。在此版本中,部署,DaemonSet,副本集和Ingress都进行了重大更改。
请注意,在Kubernetes 1.6中,其中一些对象已从扩展名重新定位到特定的API组(例如,应用程序)。当这些对象移出测试版时,应将它们放在特定的API组中,例如apps/v1
。
不建议使用extensions/v1beta1
-根据您的Kubernetes集群版本,尝试尽可能使用特定的API组。