kubectl apply每次更新应用时kubernetes都会记录下当前配置,保存为一个revision(版次),这样就可以回滚到某个特定的revision
默认配置下,kubernetes只会保留最近的几个revision,可以在deployment配置文件中通过revisionHistoryLimit属性增加resivion数量。
准备三个yml配置文件,镜像分别是httpd 镜像 2.4.16
,2.4.17
和 2.4.18
:
通过yml文件部署新的应用
--record的作用是将当前命令记录到revision中,这样我们就可以知道每个revision对应的是哪个配置文件。
现在的deployment的镜像是2.4.18的版本
通过kubectl rollout history deployment httpd 查看version记录
CHANGE-CAUSE是--record的结果。如果要回滚到某个版本,比如revision1,可以执行命令kubectl rollout undo deployment httpd --to-revision=1
此时,revision历史记录也会发生相应的变化
我们可以通过CHANGE-CAUSE知道每个revision的具体含义。所以一定要在执行kubectl apply时加上--record参数