Google Cloud コンソールで GKE クラスタにマネージド Cloud Service Mesh をプロビジョニングする
Cloud Service Mesh は、オープンソースの Istio に基づく Google のサービス メッシュ プロダクトです。GKE UI の Cloud Service Mesh 機能によって、ユーザーは新しい GKE クラスタまたは既存の GKE クラスタにマネージド Cloud Service Mesh を簡単にプロビジョニングできます。マネージド Cloud Service Mesh では、Google がメッシュ用のコントロール プレーン(必要に応じてデータプレーンも)をホストして管理し、アップグレード、スケーリング、セキュリティを下位互換性のある方法で処理します。
Cloud Service Mesh によって、マイクロサービスの接続、管理、保護を統一された方法で実行できます。マイクロサービス コードを変更することなく、サービス間のトラフィック フローの管理、アクセス ポリシーの適用、テレメトリー データの集計を行うことができます。Cloud Service Mesh は、メッシュのライフサイクル管理を簡素化する一連の管理機能も提供します。
Istio のアクセス制御、ルーティング ルール、その他の機能を構成するには、kubectl または Istio のコマンドライン ツール istioctl(追加の検証を利用可能)を介して、カスタム Kubernetes API を使用します。
詳細については、Cloud Service Mesh をご覧ください。
始める前に
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Kubernetes Engine API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles. Google Cloud コンソールで [Google Kubernetes Engine] ページに移動します。
[add_box 作成] をクリックします。
GKE Standard と GKE Autopilot の間の、推奨オプションの横にある [構成] をクリックします。
- クラスタの名前を [名前] に入力します。
[ロケーション タイプ] には [リージョン] を選択し、クラスタに使用するリージョンを選択します。
ナビゲーション パネルの [クラスタ] の下の [機能] をクリックします。
[Cloud Service Mesh] セクションで、[Cloud Service Mesh を有効にする] の横にあるチェックボックスをオンにします。
チェックボックスをオンにすると、要件を詳細説明する画面が表示されます。要件には以下のものがあります。
- クラスタで Cloud Monitoring が有効になっている。
- Cloud Service Mesh では、Cloud Monitoring によって自動テレメトリーとログが提供されます。
- クラスタで Workload Identity が有効になっている。
- Cloud Service Mesh では、必要な Google API とリソースへの安全なアクセスが Workload Identity によって提供されます。
サービス メッシュを保護、モニタリング、管理するために、
mesh.googleapis.comAPI が有効になっている(まだ有効になっていない場合)。クラスタがプロジェクトのフリートに登録され、Cloud Service Mesh フリート機能が有効になっている。
マネージド コントロール プレーンがプロビジョニングされ、クラスタで構成されている GKE チャネルに一致するリビジョンを使用するように設定されている。
[変更する] をクリックすると、要件が自動的に有効になります。
[作成] をクリックします。
- クラスタの名前を [名前] に入力します。
クラスタの目的のリージョンを選択します。
[詳細オプション] セクションのプルダウンを開きます。
[Cloud Service Mesh] セクションで、[Cloud Service Mesh を有効にする] の横にあるチェックボックスをオンにします。
チェックボックスをオンにすると、要件を詳細説明する画面が表示されます。要件には以下のものがあります。
サービス メッシュを保護、モニタリング、管理するために、
mesh.googleapis.comAPI が有効になっている(まだ有効になっていない場合)。クラスタがプロジェクトのフリートに登録され、Cloud Service Mesh フリート機能が有効になっている。
マネージド コントロール プレーンがプロビジョニングされ、クラスタで構成されている GKE チャネルに一致するリビジョンを使用するように設定されている。
[変更する] をクリックすると、要件が自動的に有効になります。
[作成] をクリックします。
Google Cloud コンソールで [Google Kubernetes Engine] ページに移動します。
Cloud Service Mesh をプロビジョニングするクラスタを選択します。
[機能] セクションで、Cloud Service Mesh の横にある編集ボタンをクリックします。
編集ボタンをクリックすると、要件の詳細を示す画面が表示されます。要件には以下のものがあります。
クラスタで Cloud Monitoring が有効になっている。
- Cloud Service Mesh では、Cloud Monitoring によって自動テレメトリーとログが提供されます。
クラスタで Workload Identity が有効になっている。
- Cloud Service Mesh では、必要な Google API とリソースへの安全なアクセスが Workload Identity によって提供されます。
サービス メッシュを保護、モニタリング、管理するために、
mesh.googleapis.comAPI が有効になっている(まだ有効になっていない場合)。クラスタがプロジェクトのフリートに登録され、Cloud Service Mesh フリート機能が有効になる(まだ有効になっていない場合)。
マネージド コントロール プレーンがプロビジョニングされ、クラスタで構成されている GKE チャネルに一致するリビジョンを使用するように設定されている。
[変更する] をクリックすると、要件が自動的に有効になります。
(必須)サイドカー プロキシを挿入して、ネットワークのセキュリティ、信頼性、オブザーバビリティを強化します。
(強く推奨)上り(内向き)トラフィックと下り(外向き)トラフィックを管理するためにゲートウェイをデプロイします。
(強く推奨)トランスポート セキュリティを構成してメッシュを保護します。
(省略可)プロキシを自動的にアップグレードするには、マネージド データプレーンを有効にします。
- マネージド Cloud Service Mesh の詳細については、マネージド Cloud Service Mesh のプロビジョニングをご覧ください。
- このチュートリアルで使用した gcloud CLI の簡単な概要については、
gcloudコマンドをご覧ください。 - Google Cloud コンソールで Cloud Service Mesh を確認する方法については、 Google Cloud コンソールでの Cloud Service Mesh の確認をご覧ください。
- Cloud Trace、Distroless プロキシ イメージ、エンドユーザー認証などの Cloud Service Mesh オプション機能については、マネージド Cloud Service Mesh でオプション機能を有効にするをご覧ください。
- Cloud Service Mesh のセキュリティの詳細については、Cloud Service Mesh のセキュリティの概要と Cloud Service Mesh のセキュリティのベスト プラクティスをご覧ください。
- Cloud Service Mesh のテレメトリーの詳細については、オブザーバビリティの概要をご覧ください。
Cloud Service Mesh をプロビジョニングする
Cloud Service Mesh のプロビジョニングに必要な手順は、新しい GKE クラスタを作成するか、既存の GKE クラスタに Cloud Service Mesh をプロビジョニングするかによって異なります。
Cloud Service Mesh を使用する GKE クラスタを作成する
Standard
[クラスタの基本] セクションで、次の操作を行います。
Autopilot
[クラスタの基本] セクションで、次の操作を行います。
Cloud Service Mesh を既存の GKE クラスタにプロビジョニングする
次のステップ
クラスタで Cloud Service Mesh を有効にすることは、最初の手順にすぎません。サービス メッシュ機能を最大限に活用するには、次の作業を行います。
トラブルシューティング
Cloud Service Mesh をプロビジョニングする際に発生した問題に対処するには、 Google Cloud コンソールで Cloud Service Mesh を有効にする際の問題の解決をご覧ください。