k8s-業務鏡像版本升級及回滾


測試

在指定的deployment中通過kubectl set image指定新版本的鏡像:tag 來實現更新代碼的目的。
構建三個不同版本的nginx鏡像,第一次使用v1版本,后組逐漸升級到v2與v3,測試鏡像版本升級與回滾操作

鏡像升級到指定版本

方法一:
1、kubectl apply -f nginx.yaml --record=true  
#--record=true,記錄執行升級的kubectl命令;需要把業務的 yml 文件中的鏡像,修改到指定版本

方法二:
1、kubectl set image deployment/linux-tomcat-app1-deployment linux-tomcat-app1-container=harbor.linux.com/linux/tomcat-app1:v3 -n linux
#指定 yml 中容器的名稱,以及指定這個容器所對應的鏡像地址;一個 pod 中可能有多個容器

回滾到上一個版本

1、kubectl rollout history deployment/linux-tomcat-app1-deployment -n linux
REVISION  CHANGE-CAUSE
1         kubectl apply --filename=tomcat-app1.yaml --record=true
2         kubectl apply --filename=tomcat-app1.yaml --record=true
3         kubectl apply --filename=tomcat-app1.yaml --record=true
#查看指定namespace中deployment的升級歷史版本信息;如果 yml 文件執行過 delete 操作,則沒有歷史版本信息,因為 deployment 會被刪除

2、kubectl rollout undo deployment/linux-tomcat-app1-deployment -n linux
#指定 deployment,回滾到該 deployment 歷史版本中的上一個版本

3、kubectl rollout history deployment/linux-tomcat-app1-deployment -n linux
1         kubectl apply --filename=tomcat-app1.yaml --record=true
3         kubectl apply --filename=tomcat-app1.yaml --record=true
4         kubectl apply --filename=tomcat-app1.yaml --record=true
#會發現會把版本 2 刪除,重新創建個版本 4,如果想會到版本 1,則在次回滾只會把版本 3 刪除,重新創建個版本 5。

回滾到指定版本

1、kubectl rollout undo deployment/linux-tomcat-app1-deployment --to-revision=1 -n linux
#通過--to-revision,回到指定的版本


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM