適用於持續服務客戶的代管控制層
如果您是持續使用代管控制層或叢集內控制層的 Anthos 服務網格客戶,這份文件就是為您而寫。本文件將討論控制層的實作方式,以及控制層可能的遷移方式。
如果您是現有 Traffic Director 客戶或新客戶,則不需要閱讀這份文件。
控制層簡介
在服務網格中,控制層會提供流量管理、Envoy Proxy 使用中的 Proxy 管理,以及其他網路功能。
Anthos 服務網格提供兩個控制層:代管控制層和叢集內控制層。只有 Envoy 代理程式會用做資料層。
新的受管理控制層
新的代管控制層稱為 Traffic Director (TD) 實作。新控制層對您有何意義?
從 Anthos 服務網格產品轉換至 Cloud Service Mesh 時,最重大的變更之一,就是轉換為多租戶的全球控制層。
Anthos 服務網格中使用的代管控制層專供單一叢集使用。雖然 GKE 使用的 API (Istio CRD) 相同,且傳送至 sidecar 的 xDS 設定相容且沒有行為差異,但控制平面差異會導致一些可供使用者 (即終端使用者) 查看的特性。
- 設定變更回應時間。使用新控制層時,新服務部署作業或服務政策變更作業的時間會稍微延長。
- 設定管道會執行兩次設定提交作業,以確保可靠性。第一輪會執行驗證,檢查設定是否正確格式。後續階段會將設定全域傳播至服務部署作業。為了啟用 Google Cloud 服務 (例如全球跨區或跨區域負載平衡、集中式健康檢查、流量驅動型自動調度,以及受管理的速率限制),系統會將設定傳播至這些系統,並獨立驗證其正確性。設定也會以內部方式儲存,讓 Google 網站可靠性工程團隊在任何實際緊急情況下,都能可靠且有效率地執行產品作業。
- 這些作業可提供更高的可靠度,但會導致設定推送速度低於 Anthos 服務網格目前使用者觀察到的延遲時間。
- 在使用新控制層的情況下,任何新 Pod 擷取現有設定的延遲時間測量值略有改善。緩慢的設定推送作業是指首次複製任何新建立的服務,或為服務推送任何新政策。端點傳播延遲時間的運作方式也類似。
- 事件和其他端點變更的擴充速度。這些問題至少會以同樣快速的速度透過新控制層處理。這些事件包括因水平 Pod 自動調度資源而啟動或停止的新 Pod,以及因移至叢集中的不同節點而重新啟動並使用新 IP 位址的 Pod。
- 調整端點數量。有了新的全球控制平面,網格中的端點會直接從各個叢集傳送至控制平面,而非從網格中的所有叢集傳送。相較於先前的受控控制平面,這項方法更簡單、更快速且可擴充性更高。在較舊的受管理控制層 (專用控制層) 模式中,每個 Istiod 都必須與網格中的其他叢集通訊,以便判斷其他叢集中可用的端點。有了全球控制層,端點會直接傳播至全球控制層。這可改善包含大量端點的網格可靠性和效能,並讓網格可擴充至更多端點。
新控制層對您有何影響?
新控制層對您造成的影響取決於您使用的 API 和控制層。
- 如果您是 Traffic Director 使用者,控制層會維持不變。您不需要閱讀本指南的其餘部分。如需 Cloud Service Mesh 實作說明文件,請參閱「使用Google Cloud API 進行設定」一節。
- 如果您是 Anthos 服務網格使用者,現有部署中控制層的後續步驟取決於您使用的是代管控制層還是叢集內控制層。
- 如果您使用代管控制層,除了少數例外狀況,現有的車隊都會遷移至新控制層,在 Cloud Service Mesh 中稱為代管控制層 (Traffic Director 或 TD 實作)。請參閱以下「現有網格和機隊的控管平面遷移」一節。如果您使用的功能不受 Traffic Director 控制層實作支援,則會暫時保留在先前的控制層。請繼續閱讀這份指南。
- 如果您使用叢集內控制層,控制層會維持不變。您不需要閱讀本指南的其餘部分。
- 如果您沒有 Google Cloud 機構,且在無機構的專案中使用受管理的控制層,就會收到 TD 控制層。
- 如果您是 Anthos 服務網格客戶,且正在建立新的車隊,就會收到 Traffic Director 控制層實作項目。請繼續閱讀這份指南。
- 我們會通知您日期,讓您知道新車隊何時會收到 TD 控制平面。
現有網格和機隊的控制層遷移作業
自 2024 年 7 月 22 日起,Google 將逐步更新現有叢集,以便使用 TD 導入的受管理控制層。我們會在更新網格前通知您。
您可以在說明 使用 Istio API 的支援功能 (受管理的控制平面) 的頁面中,查看 Istiod 和 Traffic Director 控制計畫的功能。
您應該會在叢集更新前至少兩週,收到叢集的更新時間表通知。您可以在叢集層級的功能狀態條件中使用通知。
使用下列 Google Cloud CLI 指令查看通知:
gcloud container hub mesh describe --project=[PROJECT_ID]
您會看到類似下列的結果:
membershipStates: projects/656460026795/locations/us-central1/memberships/cluster: servicemesh: conditions: - code: MODERNIZATION_SCHEDULED details: This cluster has been scheduled for modernization on or after (date ~ at least 2 weeks). documentationLink:severity: INFO
使用 meshconfig.googleapis.com
API 加入的任何舊版受管理控制平面叢集,都會透過 gkehub.googleapis.com
Membership API 自動註冊至叢集專案中的機群。如果您有任何會取消註冊叢集的自動化動作,請務必在遷移前移除,否則遷移作業會發生問題。為了讓代管產品順利運作,您必須將其註冊至已啟用網格功能的機群。
如果您需要自訂遷移作業,或是對是否使用不支援的功能有疑問,請與支援團隊聯絡。
在遷移期間,系統會以安全且受控的方式進行下列變更:
- 如要啟用健康狀態檢查,請在叢集的
kube-system
命名空間中建立snk
守護程式集區,並為每個叢集建立防火牆規則。 - 如要啟用網路端點群組 (NEG) 攝入功能,請將註解
cloud.google.com/neg
新增至所有 Kubernetes 服務。 - 在叢集中建立新的 Google Cloud 資源,例如
Mesh
、Routes
、後端服務和健康檢查。 - 由 Kubernetes 部署管理的 Pod 會重新啟動,以便重新連線至 Traffic Director 控制層。
部分新資源設有配額限制。您可以查看配額,並視需要要求增加配額。
檢查控制層相容性
請查看代管控制平面實作項目之間支援功能的差異,判斷目前使用 Cloud Service Mesh 時是否需要變更。
新網格的控制層
自 2024 年 7 月 1 日起,管理式 istiod
控制平面導入作業的大多數現有使用者,將開始在新車隊中,收到採用 Google 全球可用導入作業的更新版管理式控制平面 - 交通管理員 (TD) 控制平面。
如果使用者目前使用採用 istiod
控制層實作項目的代管 Cloud Service Mesh,且無法與 Traffic Director 實作項目相容,則會持續收到 istiod
實作項目,直到 2024 年 9 月 8 日為止。如果這項政策適用於貴機構,您會收到服務公告。
如果您將新的機群加入代管 Cloud Service Mesh,且該機群不在 Google Cloud 機構中,或屬於新的 Google Cloud 機構,則會從 Cloud Service Mesh 推出日期起,取得採用 TD 實作的新代管控制層。
後續步驟
- 如果您是 Anthos 服務網格的現有客戶,說明文件會顯示在左側目錄的「使用 Istio API 設定服務網格」下方。
- 如果您是 Traffic Director 的現有客戶,說明文件會顯示在「使用 API 設定服務網格 Google Cloud 」下方。