k8s怎么找deploy历史版本?

在Kubernetes中,可以通过以下步骤查找Deployment的历史版本:

查看Deployment的历史版本记录

使用以下命令查看指定Deployment的历史版本列表:

```bash

kubectl rollout history deployment/<deployment名称>

```

示例:

```bash

kubectl rollout history deployment/my-app

```

输出将显示版本的修订号(REVISION)和变更原因(CHANGE-CAUSE)等信息:

```

REVISION CHANGE-CAUSE

1 <none>

2 kubectl set image ...

3 Updated app version to v1.2

```

查看特定版本的详细信息

如果需要查看某个具体版本的详细信息,可以使用`--revision`参数指定版本号:

```bash

kubectl rollout history deployment/<deployment名称> --revision=<版本号>

```

示例:

```bash

kubectl rollout history deployment/my-app --revision=2

```

输出将显示该版本的Pod模板、容器镜像、标签、注解等详细信息:

```

Pod Template:

Labels: pod-template-hash=6b486f845d

app=my-app

Annotations: kubernetes.io/change-cause: kubectl set image ...

Containers:

my-app:

Image: my-app:v1.1

Port: 80/TCP

...

```

注意事项

  • **版本数量限制**:Kubernetes默认保留Deployment的最近10个历史版本,由`.spec.revisionHistoryLimit`参数控制。如果超过限制,旧版本将被自动删除。可在Deployment的YAML文件中修改该值:

```yaml

apiVersion: apps/v1

kind: Deployment

metadata:

name: my-app

spec:

revisionHistoryLimit: 5 # 保留5个历史版本

...

```

  • **记录变更原因**:为了便于查看版本变更的原因,建议在更新Deployment时添加`--record`参数,自动记录命令和变更信息:

```bash

kubectl set image deployment/my-app my-app=new-image:v1.2 --record

```

这样,在历史记录中就能看到详细的变更原因。

通过以上方法,您可以方便地查找和管理Kubernetes中Deployment的历史版本,为应用的回滚和故障排查提供依据。

相关推荐
哈里谢顿11 小时前
Kubernetes Service动手实验
kubernetes
哈里谢顿12 小时前
k8s实用脚本
kubernetes
❥ღ Komo·12 小时前
K8s集群搭建全流程详解
云原生·容器·kubernetes
努力发光的程序员15 小时前
互联网大厂Java面试场景:微服务与云原生架构实践
spring cloud·kubernetes·微服务架构·共享经济·netflix oss·故障容错
新手小白*19 小时前
K8S-Pod资源对象
云原生·容器·kubernetes
拾心2121 小时前
【云运维】K8s管理(二)
运维·容器·kubernetes
小牛马爱写博客1 天前
Kubernetes Service 核心概念与实操指南(分别使用yaml文件和命令行分别创建service版)
云原生·容器·kubernetes
来旺1 天前
互联网大厂Java面试实战:核心技术栈与业务场景深度解析
java·spring boot·docker·kubernetes·mybatis·hibernate·microservices
哦你看看1 天前
K8S-单Master集群部署
云原生·容器·kubernetes
小毅&Nora1 天前
【云计算】【Kubernetes】 ② K8S的架构、应用及源码解析 - Pod 生命周期管理与 CRI 集成详解
架构·kubernetes·云计算