Rolling Update滾動更新 通過使用新版本的 Pod 逐步替代舊版本的 Pod 來實現 Deployment 的更新,從而實現零停機。新的 Pod 將在具有可用資源的 Node(節點)上進行調度。
Kubernetes 更新多副本的 Deployment 的版本時,會逐步的創建新版本的 Pod,逐步的停止舊版本的 Pod,以便使應用一直處於可用狀態。這個過程中,Service 能夠監視 Pod 的狀態,將流量始終轉發到可用的 Pod 上。
默認情況下,Rolling Update 滾動更新 過程中,Kubernetes 逐個使用新版本 Pod 替換舊版本 Pod(最大不可用 Pod 數為 1、最大新建 Pod 數也為 1)。這兩個參數可以配置為數字或百分比。在Kubernetes 中,更新是版本化的,任何部署更新都可以恢復為以前的(穩定)版本。
滾動更新允許以下操作:
- 將應用程序從准上線環境升級到生產環境(通過更新容器鏡像)==> 可以不采用應用商店的形式?
- 回滾到以前的版本
- 持續集成和持續交付應用程序,無需停機