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 分以上続いて、イベントが追加されていない場合は、次のコントローラが 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