排解 Cloud Service Mesh GKE 服務網格部署問題
本指南提供解決 Gateway API 服務網格部署問題的相關資訊。
status
欄位的資訊
所有 Gateway API 資源都有 status
欄位,可從控制器的角度反映資源狀態。除了 status
欄位之外,控制器也會將事件附加至 Gateway API 資源,提供該資源作業的相關資訊。
舉例來說,您可以使用下列指令檢查 TDMesh
的狀態和事件:
kubectl describe tdmesh td-mesh
輸出結果會與下列內容相似:
... Status: Conditions: Last Transition Time: 1970-01-01T00:00:00Z Message: Waiting for controller Reason: NotReconciled Status: False Type: Scheduled Events: ...
上一個狀態表示控制器尚未開始協調這個特定網格。如果這個狀態持續超過 5 分鐘且沒有附加事件,請參閱「Controller 似乎無法調解 TDMesh
資源」一節,進一步排解問題。
您可以使用類似的方法,對其他資源 (例如 HTTPRoute
、TCPRoute
和其他路徑資源) 相關的問題進行偵錯。
通常狀態和事件會指出潛在問題。
控制器似乎無法調解 TDMesh
資源
如要診斷問題,請確認是否存在 gke-td
GatewayClass
:
kubectl get gatewayclasses
輸出內容應包含名稱為 gke-td
的 GatewayClass
。
NAME CONTROLLER gke-td networking.gke.io/gateway
如果沒有傳回該名稱的 GatewayClass
,請按照「安裝必要的自訂資源定義」中的步驟確認設定叢集中已安裝所有必要的 CRD,然後使用下列指令重新啟用 Cloud Service Mesh Google Kubernetes Engine 服務網格的中心功能:
停用這項功能:
gcloud container hub ingress disable
重新啟用這項功能:
gcloud container hub ingress enable \ --config-membership=/projects/PROJECT_ID/locations/global/memberships/gke-1