2023-05-04 20:18:49 来源: 腾讯云
在更新DaemonSet时,如果出现问题,可能需要回滚更新。可以使用以下步骤回滚DaemonSet:
要回滚DaemonSet,需要找到先前版本的控制器。可以使用以下命令查找先前版本的控制器:
(资料图片)
kubectl rollout history daemonset
此命令将返回所有DaemonSet的部署历史记录。您可以查看历史记录并选择要回滚的先前版本的控制器。
一旦找到先前版本的控制器,就可以使用以下命令回滚DaemonSet:
kubectl rollout undo daemonset --to-revision=
例如,要将名为“example-daemonset”的DaemonSet回滚到先前版本,可以使用以下命令:
kubectl rollout undo daemonset example-daemonset --to-revision=2
上述命令将将DaemonSet回滚到先前版本,该版本在部署历史记录中具有版本号2。
回滚完成后,需要验证回滚是否成功。可以使用以下命令查看DaemonSet的当前状态:
kubectl get daemonset
此命令将返回DaemonSet的当前状态。您可以检查状态以确保DaemonSet已成功回滚到先前版本。
示例
下面是一个示例,展示如何更新和回滚DaemonSet。假设我们有一个名为“example-daemonset”的DaemonSet,用于在集群中的每个节点上运行一个名为“example-container”的容器。我们要将容器镜像更新为“new-image”,并回滚到以前的版本。
使用以下命令更新容器镜像:
kubectl set image daemonset example-daemonset example-container=new-image
假设我们要回滚到先前版本的控制器,该版本在部署历史记录中具有版本号2。使用以下命令回滚DaemonSet:
kubectl rollout undo daemonset example-daemonset --to-revision=2
使用以下命令查看DaemonSet的当前状态,以确保回滚成功:
kubectl get daemonset example-daemonset
如果DaemonSet成功回滚到先前版本,则应该看到“example-container”的容器镜像已更改为先前版本的镜像。如果回滚未成功,则可以再次回滚到更早的版本,或者使用其他方法解决问题。