通过分析实操题来学习、巩固cka中的考点。本次的重点是用回滚应用的版本。
题目
将CKA 备考 - 3 - 升级一个应用 的基础上回滚到前一个版本,然后检查 nginx 镜像的tag是否是 1.16
解题思路
核心概念
本题主要涉及到kubernetes中对应用的回滚操作。首先需要通过 rollout 命令查看应用的发布版本,再挑选合适的版本进行回滚。
相关命令
- kubectl rollout history
history 子命令用来查看一个应用发布的历史情况,包括版本号和发布原因。
- kubectl rollout undo
undo 命令用来回滚到前一个或指定版本的应用。命令参数如下:
1 | Roll back to a previous rollout. |
解题步骤
通过执行history命令我们可以得到应用的发布历史,如本题:
1 | deployment.apps/my-dep |
应该建立 Deployment 时使用的时nginx:1.16, 中间只经过一次升级,所以只需要回滚一次即可,执行
1 | kubectl rollout undo deployment/my-dep |
系统显示
1 | deployment.apps/my-dep rolled back |
再才查看history,执行
1 | kubectl rollout history deployment/my-dep --revision=3 |
1 | deployment.apps/my-dep with revision #3 |
可以看到,当前应用已经回退到 nginx 1.16 版本的镜像。