我使用Kubernetes官方文档中的yaml file在Kubernetes中创建部署,并在顶部使用 apiVersion: apps/v1beta1
. 然后我输入 kubectl create -f deployment.yaml
来创建此部署,但它发生了如下错误:
error: error validating "deployment.yaml": error validating data: couldn't find type: v1beta1.Deployment; if you choose to ignore these errors, turn validation off with --validate=false`
经过一些搜索,我将 apiVersion: apps/v1beta1
更改为 extensions/v1beta1
,然后使用yaml文件重新创建部署,并且工作正常 .
所以,我想知道 apps/v1beta1
和 extensions/v1beta1
之间的区别是什么 . 是否与Kubernetes版本相关?
# kubectl version
Client Version: version.Info{Major:"1", Minor:"5", GitVersion:"v1.5.4", GitCommit:"7243c69eb523aa4377bce883e7c0dd76b84709a1", GitTreeState:"clean", BuildDate:"2017-03-07T23:53:09Z", GoVersion:"go1.7.4", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"5", GitVersion:"v1.5.4", GitCommit:"7243c69eb523aa4377bce883e7c0dd76b84709a1", GitTreeState:"clean", BuildDate:"2017-03-07T23:34:32Z", GoVersion:"go1.7.4", Compiler:"gc", Platform:"linux/amd64"}
1 回答
apps
API组将是v1部署类型所在的位置 .apps/v1beta1
版本已在1.6.0中添加,因此如果您有1.5.x客户端或服务器,则仍应使用extensions/v1beta1
版本 .apps/v1beta1
和extensions/v1beta1
部署类型相同,但在通过apps
API创建时,会使用一些改进的默认值