K8s高效溯源Deployment历史版本,原创-基于 PHP 和 MySQL 的证书管理系统 第三版。
·
查找 Kubernetes Deployment 历史版本的方法
在 Kubernetes 中,Deployment 通过 ReplicaSet 管理 Pod 的版本和滚动更新。要查找 Deployment 的历史版本,可以采用以下方法:
使用 kubectl rollout history 命令
直接查看 Deployment 的更新历史记录,包括修订号和变更详情:
kubectl rollout history deployment/<deployment-name>
添加 --revision=<revision-number> 可查看特定版本的详细信息:
kubectl rollout history deployment/<deployment-name> --revision=2
检查关联的 ReplicaSet
Deployment 的每个版本对应一个 ReplicaSet,通过 kubectl get rs 可列出所有 ReplicaSet,并观察其所属的 Deployment 版本:
kubectl get rs -l app=<deployment-name>
通过 kubectl describe rs 可进一步查看某个 ReplicaSet 的详细模板:
kubectl describe rs/<replicaset-name>
回滚到特定历史版本
如果需要恢复到某个历史版本,使用 kubectl rollout undo:
kubectl rollout undo deployment/<deployment-name> --to-revision=2
结合 kubectl get events 查看变更记录
通过事件日志可以获取 Deployment 的更新记录,包括时间戳和变更原因:
kubectl get events --field-selector involvedObject.kind=Deployment,involvedObject.name=<deployment-name>
从 kubectl get deployment 中提取版本信息
检查 Deployment 的 annotation,部分 CI/CD 工具(如 ArgoCD 或 Helm)会在此记录版本信息:
kubectl get deployment/<deployment-name> -o jsonpath='{.metadata.annotations}'
总结
Kubernetes 通过 ReplicaSet 和 rollout history 机制管理 Deployment 的历史版本。结合命令行工具和事件日志,用户可以高效追溯和恢复旧版本配置。
更多推荐
所有评论(0)