当我在Kubernetes中使用Deployment时,apps / v1beta1和extensions / v1beta1之间的区别是什么?

时间:2017-04-02 01:07:54

标签: docker kubernetes

我使用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/v1beta1extensions/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 个答案:

答案 0 :(得分:33)

apps API组将是v1部署类型所在的位置。 {1.6}中添加了apps/v1beta1版本,因此如果您有1.5.x客户端或服务器,则仍应使用extensions/v1beta1版本。

apps/v1beta1extensions/v1beta1部署类型相同,但在通过apps API创建时,会使用一些改进的默认值