Kubernetes 库伯内特斯|什么';卷展栏撤消与部署到旧版本之间的区别是什么?
我发现有两种方法可以返回到较旧的部署版本。一种是使用卷展栏撤消命令,另一种是再次部署到旧版本。这两者之间有什么区别吗?或者它们都是可互换的?当您撤消推出时,您正在以源代码管理中未反映的方式进行更新。首选的方法是恢复YAML并应用以前的版本-然后您的修订与跟踪的配置相匹配 kubectl卷展历史部署xyzKubernetes 库伯内特斯|什么';卷展栏撤消与部署到旧版本之间的区别是什么?,kubernetes,Kubernetes,我发现有两种方法可以返回到较旧的部署版本。一种是使用卷展栏撤消命令,另一种是再次部署到旧版本。这两者之间有什么区别吗?或者它们都是可互换的?当您撤消推出时,您正在以源代码管理中未反映的方式进行更新。首选的方法是恢复YAML并应用以前的版本-然后您的修订与跟踪的配置相匹配 kubectl卷展历史部署xyz 修订-->这些没有正确反映,请使用“撤消展开”获取一个新的编号。据我所知,您要求在执行undo和手动将pod定义更改为精确的先前状态之间进行区别。如果是这种情况,请阅读下面的内容 当您进行新部署
修订-->这些没有正确反映,请使用“撤消展开”获取一个新的编号。据我所知,您要求在执行
undo
和手动将pod
定义更改为精确的先前状态之间进行区别。如果是这种情况,请阅读下面的内容
当您进行新部署时,如果在该部署中您的pod定义的散列已被修改,部署控制器
将创建一个新的复制集
(我们称之为a
),以推出新版本,但同时它将减少现有复制集中的副本计数
(我们称之为B
)-因此您有2个ReplicaSet
s(A
,B
)。它如何做到这一点取决于您选择的推出策略(例如:滚动更新
,蓝绿部署
),等等)
当您执行kubectl卷展栏撤消部署时
-部署控制器
将基本上减少新创建的ReplicaSet
(A
)中的副本数量,并增加旧ReplicaSet
(B
)中的副本数量
但是,当您这样做时,正如您所说:再次部署到旧版本
-您基本上进行了新的部署,因此将创建新的ReplicaSet
(C
)以推出新版本(即使它不是新版本),并且现有的ReplicaSet
的(a
)副本计数将减少
因此,基本上区别在于创建的ReplicaSet
s
阅读:更多信息
整个流程如下:
管理部署控制器
s复制集
更改所需的ReplicaSet
计数pod
etcd
调度Scheduler
pod
创建/终止实际PODKubelet
它们都与
API服务器
通信,并通过监视机制,再次通过API服务器
监视资源定义的变化。首先,没有直接的方法可以选择在kubernetes中重新部署。是的,撤消方法是返回部署的以前版本。返回的命令是
kubectl undo deployment ABC