我已经尝试了Kubernetes的所有基础知识,如果您想更新应用程序,您可以使用kubectl rolling-update
一个接一个地更新容器,而无需停机。现在,我再次阅读了kubernetes文档,并在版本v1beta1
上发现了一个名为Deployment
的新功能。我很困惑,因为我在部署文档中有一行:Kubernetes部署与滚动更新
下一次我们想更新pod,我们可以再次更新部署。
这不是rolling-update
的作用吗?任何输入都会非常有用。
我已经尝试了Kubernetes的所有基础知识,如果您想更新应用程序,您可以使用kubectl rolling-update
一个接一个地更新容器,而无需停机。现在,我再次阅读了kubernetes文档,并在版本v1beta1
上发现了一个名为Deployment
的新功能。我很困惑,因为我在部署文档中有一行:Kubernetes部署与滚动更新
下一次我们想更新pod,我们可以再次更新部署。
这不是rolling-update
的作用吗?任何输入都会非常有用。
部署是一个对象,可让您定义声明性部署。 它封装
DeploymentStatus对象,即负责管理副本和其状态的次数的。
DeploymentSpec对象,其中包含处理部署行为的副本数量,templateSpec,选择器和其他一些数据。
你可以得到的实际代码在这里一窥: https://github.com/kubernetes/kubernetes/blob/5516b8684f69bbe9f4688b892194864c6b6d7c08/pkg/apis/extensions/v1beta1/types.go#L223-L253
您将主要使用的部署来部署服务/应用,在声明方式。
如果要修改部署,请更新所使用的yaml/json而不更改元数据。
相比之下,kubectl rolling-update不是声明式的,不涉及yaml/json,并且需要现有的复制控制器。
我一直在使用复制控制器和声明性部署对象测试服务的滚动更新。我发现使用rc从客户角度看似乎没有停机时间。但是当部署正在进行滚动更新时,客户端会在一段时间内收到一些错误,直到更新稳定。
这是kubernetes 1.2.1
所以,如果你需要更新你的荚kubectl滚动更新仍然是最好的选择吗? – mateeyow