Cloud Service Mesh API リソースについて
Gateway API と Istio API を使用して GKE でサービス メッシュを構成すると、GKE で管理していた KRM ベースの API リソースが、一連の Google Cloud API リソースに自動的に変換されます。
- 追加の請求は発生しません。
- これらは、マネージド Cloud Service Mesh インフラストラクチャによってのみ管理されます(GKE クラスタで作成した API リソースに基づきます)。ユーザーはこれらの Google Cloud API リソースを変更や削除できません。KRM API を変更すると、対応する Google Cloud API リソースの更新または削除がトリガーされます。Cloud Service Mesh サービス メッシュのプロビジョニングを解除すると、Google Cloud API リソースが自動的に削除されます。
- 機能的には、GKE で管理していた API リソースと同等です。Cloud Service Mesh インフラストラクチャは、これらの Google Cloud API リソースに基づいて GKE クラスタのデータプレーンをプログラムします。
- 標準の Google CloudAPI 割り当て制御が適用されます。 Google Cloud プロジェクトの現在の割り当て使用量を確認できます。 Google Cloud のリソース割り当てが超過すると、データプレーンへの構成の伝播が停止します。なお、 Google Cloud はプロジェクト レベルでリソース割り当てを適用するため、これらの Google Cloud API リソースは、ユーザーが管理する同じタイプの Google Cloud API リソースと割り当てを共有します。
GKE の API リソースと Google Cloud の API リソースのマッピングの概要を以下に示します。ほとんどの場合、GKE でサービス メッシュを使用するのにこの API マッピングを理解する必要はありません。GKE でサービス メッシュを管理するには Gateway API または Istio API を使用するためです。一方、この API マッピングを大まかに理解しておくと、サービス メッシュのスケーリングに応じてGoogle Cloud API の割り当てをより効率的に計画、管理できます。
API リソースについて
GKE で管理する API リソースは、データプレーン内のトラフィックの動作のさまざまな側面を制御する一連の Google Cloud API リソースにマッピングされます。これらのリソースの割り当てアラートを設定することをおすすめします。
マネージド Cloud Service Mesh に対する Istio API
項目 | Istio API リソース | Google Cloud API リソース | 範囲 | 割り当てと上限 | 上限 |
---|---|---|---|---|---|
トラフィック ルーティング | VirtualService |
HTTPRoute TCPRoute TLSRoute |
グローバル |
HTTPRoute の割り当て TCPRoute の割り当て TLSRoute の割り当て |
サービスポートごとに 1 つ、Istio VirtualService HTTPRoute、TCPRoute、TLSRoute ごとに 1 つ。 |
サービス表現(ルート / ポリシー アタッチメント用) |
Service ServiceEntry |
BackendService | グローバル | BackendService の割り当て | サービスポートごとに 1 つ(Istio ServiceEntry を含む)。 |
ワークロードのプロパティ(IP:port、ローカリティなど) |
Service ServiceEntry |
NetworkEndpointGroup | ゾーン | NetworkEndpointGroup の割り当て | サービスポート、ゾーンごとに 1 つ。リージョン GKE クラスタでは、クラスタのノードが少なくとも 1 つあるすべてのゾーンに、特定のサービスポートの NetworkEndpointGroup が作成されます。 |
ワークロードの健全性のモニタリング | サービス | HealthCheck | グローバル | HealthCheck の割り当て | GKE クラスタごとに 1 つ。 |
ワークロード ポリシーの接続ポイント |
PeerAuthentication AuthorizationPolicy RequestAuthentication EnvoyFilter |
EndpointPolicy | グローバル | EndpointPolicy の割り当て | サービスポートとワークロード ポリシーごとに 1 つ。 |
認証 | PeerAuthentication |
ClientTlsPolicy ServerTlsPolicy |
グローバル |
ClientTlsPolicy の割り当て ServerTlsPolicy の割り当て |
サービスポートごとに 1 つの ClientTlsPolicy。TLS Gateway ごとに 1 つの ServerTlsPolicy。 |
承認 | AuthorizationPolicy | HttpFilter | グローバル | HttpFilter の割り当て | Istio AuthorizationPolicy ごとに 1 つ |
ゲートウェイ | ゲートウェイ | ゲートウェイ | グローバル | Gateway の割り当て | Istio Gateway サーバーポートごとに 1 つ |
トラフィック分散ポリシー | GCPTrafficDistributionPolicy 1 | ServiceLbPolicy | グローバル | ServiceLbPolicy の割り当て | GCPTrafficDistributionPolicy ごとに 1 つ |
サービス メッシュが異なるプロジェクトの複数のクラスタにまたがっている場合、すべてのGoogle Cloud リソースはフリート プロジェクトに作成されます。
1GCPTrafficDistributionPolicy は Istio API ではありません。Istio API を拡張して、高度なトラフィック管理を提供します。
マネージド Cloud Service Mesh に対する Kubernetes Gateway API
項目 | Kubernetes Gateway API リソース | Google Cloud API リソース | 範囲 | 割り当てと上限 | 上限 |
---|---|---|---|---|---|
トラフィック ルーティング |
HTTPRoute GRPCRoute |
HTTPRoute GRPCRoute |
グローバル |
HTTPRoute の割り当て GRPCRoute の割り当て |
サービスポートごとに 1 つ、HTTPRoute と GRPCRoute ごとに 1 つ。 |
サービス表現(ルート / ポリシー アタッチメント用) | サービス | BackendService | グローバル | BackendService の割り当て | HTTPRoute と GRPCRoute によって接続されたサービスポートごとに 1 つ。 |
ワークロードのプロパティ(IP:port、ローカリティなど) | サービス | NetworkEndpointGroup | ゾーン | NetworkEndpointGroup の割り当て | サービスポート、ゾーンごとに 1 つ。リージョン GKE クラスタでは、クラスタのノードが少なくとも 1 つあるすべてのゾーンに、特定のサービスポートの NetworkEndpointGroup が作成されます。 |
ワークロードの健全性のモニタリング | サービス | HealthCheck | グローバル | HealthCheck の割り当て | HTTPRoute と GRPCRoute によって接続されたサービスポートごとに 1 つ。 |