規劃升級作業
本頁面提供相關資訊,協助您規劃 Cloud Service Mesh 升級作業。建議您一併參閱 Istio 升級注意事項。
關於初期測試版本升級
建議您先執行新控制層的初期測試部署作業,再升級 Cloud Service Mesh。透過初期測試升級,asmcli 會在舊版控制層旁安裝新版控制層修訂版本。新舊控制層都會標上 revision 標籤,做為控制層的 ID。
如要將工作負載遷移至新的控制層,請按照下列步驟操作:
在其中一個命名空間上,設定新控制層的
revision標籤。執行滾動式重新啟動。重新啟動後,Sidecar Proxy 會重新注入 Pod,以便 Proxy 使用新的控制層。
監控升級對工作負載的影響。如需測試應用程式,請重複上述步驟。
測試應用程式後,您可以將所有流量遷移至新的控制層,或回復至舊的控制層。
相較於就地升級 (新控制層會取代舊控制層),Canary 升級安全許多。如需詳細步驟,請參閱「改用新的控制層」。
自訂控制層
如果您自訂了先前的安裝作業,升級 Cloud Service Mesh 時也需要進行相同的自訂作業。如果您在 istioctl install 中加入 --set values 旗標,自訂安裝作業,則必須將這些設定加入 IstioOperator YAML 檔案 (稱為疊加檔案)。執行 asmcli 時,使用 --custom_overlay 選項和檔案名稱指定疊加檔案。
GitHub 中的
asmcli 目錄包含許多疊加層檔案。這些檔案包含預設設定的常見自訂項目。您可以直接使用這些檔案,也可以視需要進行其他變更。部分檔案用於啟用選用的 Cloud Service Mesh 功能。
執行 asmcli驗證專案和叢集時,系統會下載 anthos-service-mesh 套件。
使用 asmcli install 安裝 Cloud Service Mesh 時,您可以透過 --option 或 --custom_overlay 指定一或多個疊加檔案。如果不需要變更 anthos-service-mesh 存放區中的檔案,可以使用 --option,指令碼會從 GitHub 為您擷取檔案。否則,您可以變更疊加層檔案,然後使用 --custom_overlay 選項將其傳遞至 asmcli。
選擇憑證授權單位
如果目前的 Cloud Service Mesh 安裝作業使用 Cloud Service Mesh 憑證授權單位,做為核發相互傳輸層安全標準 (mTLS) 憑證的憑證授權單位 (CA),建議您繼續使用 Cloud Service Mesh 憑證授權單位,原因如下:
- Cloud Service Mesh 憑證授權單位是高度可靠且可擴充的服務,專為動態擴充的工作負載進行最佳化。
- 透過 Cloud Service Mesh 憑證授權單位,Google 會管理 CA 後端的安全性和可用性。
- Cloud Service Mesh 憑證授權單位可讓您在叢集之間,依賴單一信任根。
如果目前的 Cloud Service Mesh 安裝作業使用 Istio CA (先前稱為「Citadel」),升級時可以切換至 Cloud Service Mesh 憑證授權單位,但需要安排停機時間。升級期間,mTLS 流量會中斷,直到所有工作負載都改用 Cloud Service Mesh 憑證授權單位核發憑證的新控制層為止。
Cloud Service Mesh 憑證授權單位核發的憑證包含應用程式服務的下列資料:
- 專案 ID Google Cloud
- GKE 命名空間
- GKE 服務帳戶名稱
找出您的 CA
執行 asmcli install 升級時,請指定 asmcli 應在新控制層上啟用的 CA。
將工作負載部署至新的控制層時,變更 CA 會導致停機。如果無法安排停機時間,請務必為新控制層指定與舊控制層相同的 CA。如果不確定網狀網路啟用哪個 CA,請執行下列指令:
從其中一個命名空間取得 Pod 清單:
kubectl get pods -n NAMESPACE在下列指令中,將
POD_NAME替換為其中一個 Pod 的名稱:kubectl get pod POD_NAME -n NAMESPACE -o yaml | grep CA_ADDR -A 1如果命名空間已啟用 Cloud Service Mesh 憑證授權單位,您會看到下列輸出內容:
- name: CA_ADDR value: meshca.googleapis.com:443
準備閘道設定
使用 Cloud Service Mesh 時,您可以選擇將閘道做為服務網格的一部分來部署及管理。閘道是指在網格邊緣運作的負載平衡器,負責接收傳入或傳出網格的 HTTP/TCP 連線。換句話說,閘道其實就是 Envoy Proxy,能讓您精細控管進出網格的流量。
asmcli 不會安裝 istio-ingressgateway。建議您分別部署及管理控制層和閘道。詳情請參閱「安裝及升級閘道」。
升級平台 (選用)
最佳做法是將 Cloud Service Mesh 升級至最新支援版本,該版本也支援目前的平台。然後升級環境,使其符合支援的平台和 Kubernetes 版本範圍。最後,請視需要升級至最新支援版本的 Cloud Service Mesh。