kubectl set image deployment 怎么不生成回滚的rs
时间: 2024-03-02 16:53:07 浏览: 177
默认情况下,使用 `kubectl set image deployment` 命令更新 Deployment 的镜像时会创建一个新的 ReplicaSet,并将 Deployment 的 `spec.selector.matchLabels` 更新为新 ReplicaSet 的标签,从而指向新的 ReplicaSet。这样的行为是为了避免在 Deployment 更新过程中出现中断。
如果您需要在更新 Deployment 的镜像时不生成回滚的 ReplicaSet,则可以在命令中添加 `--no-undo` 或 `-C` 参数。例如:
```
kubectl set image deployment my-deployment my-container=image:v2 --no-undo
```
这样会直接将 Deployment 的 Pod 重新调度到新的镜像,而不会创建新的 ReplicaSet,也不会保存旧的 ReplicaSet,因此无法进行回滚操作。请注意,在这种情况下,如果更新失败,您需要手动回滚到先前的版本。
阅读全文