1.滾動更新策略
滾動升級策略會允許集群存在新舊版本,可能會對應用存在服務訪問問題;
注意點:
Deployment控制器的滾動更新操作並非在同一個ReplicaSet控制器對象下刪除並創建Pod資源,而是將它們分置於兩個不同的控制器之下:舊控制器的Pod對象數量不斷減少的同時,新控制器的Pod對象數量不斷增加,直到舊控制器不再擁有Pod對象,而新控制器的副本數量變得完全符合期望值為止;
maxUnavailable:表示最大不可用pod數量,可以是整數或者百分比;
maxSurge:表示可超過預期值的pod數量,可以是整數或者百分比;
為了保存版本升級的歷史,需要在創建Deployment對象時於命令中使⽤“--record”選項。"kubectl apply -f myapp-deploy.yaml --record";
適用情況:一些無狀態應用,允許多個版本存在訪問,需要快速回滾;
2.重建策略
重建策略會在創建新策略之前刪除所有現有容器集,Kubernetes 先終止當前版本中的所有容器,然后在舊容器刪除時同時啟動所有新容器,不會有 2 種版本容器同時運行,這對服務使用者來說更簡單
一般建議在開發環境使用該策略;
3.藍綠發布(通過修改label,或者是結合istio)
4.金絲雀發布9(通過修改label,或者是結合istio)
