# 如何实现K8S部署后不是最新版本

## 简介
在使用Kubernetes(K8S)部署应用程序时,有时候我们的部署并不是最新版本。这可能是因为我们使用的镜像版本不是最新的,或者在部署过程中出现了一些错误导致部署的版本不正确。在本文中,我将向你展示如何在部署K8S应用程序后,确保部署的版本不是最新的。

## 流程
下面是我们实现"K8S部署后不是最新版本"的流程表格:

| 步骤 | 操作 |
| ---- | ---- |
| 步骤一 | 创建一个Deployment对象来部署应用程序 |
| 步骤二 | 查看Deployment的镜像版本 |
| 步骤三 | 更新Deployment的镜像版本为不是最新的版本 |

## 具体步骤
### 步骤一:创建一个Deployment对象来部署应用程序
首先,我们需要创建一个Deployment对象来部署我们的应用程序。下面是一个简单的Deployment YAML示例:

```yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-app
spec:
replicas: 3
selector:
matchLabels:
app: my-app
template:
metadata:
labels:
app: my-app
spec:
containers:
- name: my-app-container
image: nginx:latest # 这里使用的是最新的nginx镜像版本,后续我们将修改成非最新版本
ports:
- containerPort: 80
```

### 步骤二:查看Deployment的镜像版本
部署完成后,我们需要查看Deployment的镜像版本是否为最新版本。可以使用以下命令查看:

```bash
kubectl describe deployment my-app
```

### 步骤三:更新Deployment的镜像版本为不是最新的版本
假设我们希望将镜像版本从`nginx:latest`修改为非最新版本`nginx:1.19.6`。我们可以通过以下命令更新Deployment的镜像版本:

```bash
kubectl set image deployment/my-app my-app-container=nginx:1.19.6
```

这样,我们就成功将Deployment的镜像版本更新为非最新版本了。

## 结论
通过以上步骤,我们可以实现在K8S部署应用程序后,确保部署版本不是最新版本。这对于测试不同版本之间的兼容性以及避免由于最新版本带来的问题都非常有用。希望这篇文章对你有所帮助!