【问题标题】:When I use Deployment in Kubernetes, what's the differences between apps/v1beta1 and extensions/v1beta1?当我在 Kubernetes 中使用 Deployment 时,apps/v1beta1 和 extensions/v1beta1 有什么区别?
【发布时间】:2017-08-27 01:54:55
【问题描述】:

我使用Kubernetes官方文档中的yaml file在Kubernetes中创建一个Deployment,它在顶部使用apiVersion: apps/v1beta1。然后我输入kubectl create -f deployment.yaml 来创建这个Deployment,但是出现了如下错误:

错误:验证“deployment.yaml”时出错:验证数据时出错:找不到类型:v1beta1.Deployment;如果您选择忽略这些错误,请使用 --validate=false 关闭验证

经过一番搜索,我将apiVersion: apps/v1beta1更改为extensions/v1beta1,然后用yaml文件重新创建了Deployment,效果很好。
所以,我想知道apps/v1beta1extensions/v1beta1 之间有什么区别。它与Kubernetes版本有关吗?

#kubectl 版本 客户端版本:version.Info{Major:"1", Minor:"5", GitVersion:"v1.5.4", GitCommit:"7243c69eb523aa4377bce883e7c0dd76b84709a1", GitTreeState:"clean", BuildDate:"2017-03-07T23:53: 09Z”,GoVersion:“go1.7.4”,编译器:“gc”,平台:“linux/amd64”} 服务器版本:version.Info{Major:"1", Minor:"5", GitVersion:"v1.5.4", GitCommit:"7243c69eb523aa4377bce883e7c0dd76b84709a1", GitTreeState:"clean", BuildDate:"2017-03-07T23:34: 32Z”,GoVersion:“go1.7.4”,编译器:“gc”,平台:“linux/amd64”}

【问题讨论】:

    标签: docker kubernetes


    【解决方案1】:

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

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

    【讨论】:

    • 您能否详细说明改进的默认值?
    • 我知道的两个改进的默认值是 progressDeadlineSeconds 默认为 10 分钟(而不是之前未定义)和 DeploymentStrategy 字段 maxSurgemaxUnavailable 设置为 25%每个(与之前的 0 和 1 相比)。
    • 伞票跟踪弃用 extensions - github.com/kubernetes/kubernetes/issues/43214
    • 列出部署改进的具体票证:github.com/kubernetes/kubernetes/pull/39683 列出了@TimoReimann 提到的 2 个默认更改
    猜你喜欢
    • 2020-06-30
    • 1970-01-01
    • 2020-05-13
    • 2021-05-10
    • 1970-01-01
    • 2020-03-17
    • 2021-12-30
    • 2020-02-28
    • 1970-01-01
    相关资源
    最近更新 更多