我已经尝试了Kubernetes的所有基础知识,如果您想要更新应用程序,可以使用kubectl rolling-update
逐个更新pod,而无需停机。现在,我再次阅读了kubernetes文档,并在版本Deployment
上找到了一个名为v1beta1
的新功能。我很困惑,因为我在部署文档上有一行:
下次我们要更新pod时,我们可以再次更新部署。
这不是rolling-update
的角色吗?任何输入都非常有用。
答案 0 :(得分:1)
部署是一个允许您定义声明性部署的Object。 它封装了
DeploymentStatus对象,负责管理副本的数量及其状态。
DeploymentSpec对象,其中包含许多副本,templateSpec,选择器以及其他一些处理部署行为的数据。
您将主要使用部署以声明性方式部署服务/应用程序。
如果要修改部署,请更新您使用的yaml / json而不更改元数据。
相比之下,kubectl滚动更新不是声明性的,不涉及yaml / json,并且需要现有的复制控制器。
答案 1 :(得分:1)
我一直在使用复制控制器和声明性部署对象测试服务的滚动更新。我发现使用rc似乎从客户端的角度来看没有停机时间。但是当部署正在进行滚动更新时,客户端会暂时收到一些错误,直到更新稳定下来。
这是kubernetes 1.2.1
答案 2 :(得分:0)
主要区别在于" kubectl滚动更新"是客户端驱动的滚动更新,而Deployment对象为您提供服务器端滚动更新。