以下內容均來自個人筆記并重新梳理,如有錯誤歡迎指正!如果對您有幫助,煩請點贊、關注、轉發!歡迎掃碼關注個人公眾號!
目錄
一、重啟策略
1、基本介紹
2、資源清單(示例)
二、滾動更新策略
1、基本介紹
2、資源清單(示例)
3、主要優點
一、重啟策略
1、基本介紹
重啟策略(Restart Policy)定義了當 Pod 中的容器失敗時,Kubernetes 如何響應。
重啟策略有 3 種選項:
- Always:默認策略,無論容器以什么狀態退出,Kubernetes 都會嘗試重啟容器
- OnFailure:只有當容器以非零狀態退出時,Kubernetes 才會重啟容器。這可以防止在容器正常退出時不必要的重啟
- Never:無論容器以什么狀態退出,Kubernetes 都不會重啟容器。這通常用于批處理作業,其中失敗的作業不需要重新啟動
2、資源清單(示例)
apiVersion: apps/v1
kind: Deployment
metadata:nanme: demo-deployment
spec:
...spec:containers:- name: demo-container
...restartPolicy: Always
...
二、滾動更新策略
1、基本介紹
Deployment 對象的鏡像、env 環境變量等發生變更后,Deployment 控制器會對 Pod 進行更新,有 2 種更新策略可選:
- Recreate:重新創建,先殺死運行中的 Pod 再創建新的 Pod
- RollingUpdate:滾動更新,通過 ReplicaSet 控制器對舊?Pod 進行有序替換
滾動更新策略(Rolling Update Strategy)可以通過逐步替換舊版本的 Pod 的方式,來實現應用程序的平滑過渡,確保應用程序的可用性和提供服務的穩定性。
2、資源清單(示例)
apiVersion: apps/v1
kind: Deployment
metadata:nanme: demo-deployment
spec:
...minReadySeconds: 5 # 等待設置的時間后開始更新revisionHistoryLimit: 10 # 最多保存多少個歷史版本strategy:type: RollingUpdaterollingUpdate:maxSurge: 25%maxUnavailable: 25%
...spec:containers:- name: demo-container
...🔔 maxSurge:在更新過程中可以超出期望數量的最大 Pod 數量,可以是絕對值或百分比,默認為 25%
🔔 maxUnavailable:在更新過程中可以處于不可用狀態的最大 Pod 數量,可以是絕對值或百分比,默認為 25%
3、主要優點
- 減少更新對用戶的影響,實現無縫更新和服務的持續可用
- 允許逐步驗證新版本的穩定性
- 提供回滾機制(Rollout Undo),以便在更新失敗時恢復到舊版本