継続して使用しているお客様向けのマネージド コントロール プレーン
このドキュメントは、マネージド コントロール プレーンまたはクラスタ内コントロール プレーンを使用している Anthos Service Mesh の既存のお客様を対象としています。このドキュメントでは、コントロール プレーン実装と、コントロール プレーンの移行について説明します。
Traffic Director を継続して使用しているお客様または新規のお客様は、このドキュメントを読む必要はありません。
コントロール プレーンの概要
サービス メッシュでは、コントロール プレーンはトラフィック管理、Envoy プロキシの使用時のプロキシ管理、その他のネットワーキング機能を担っています。
Anthos Service Mesh には、マネージド コントロール プレーンとクラスタ内コントロール プレーンの 2 つのコントロール プレーンが用意されています。データプレーンとして使用されるのは Envoy プロキシのみです。
新しいマネージド コントロール プレーン
新しいマネージド コントロール プレーンは、Traffic Director(TD)実装と呼ばれます。新しいコントロール プレーンはどのようなものなのでしょうか。
Anthos Service Mesh プロダクトから Cloud Service Mesh への最も重要な変更の一つは、マルチテナントのグローバル コントロール プレーンへの移行です。
Anthos Service Mesh で使用されるマネージド コントロール プレーンは、単一のクラスタ専用です。GKE で使用される API(Istio CRD)は同じで、サイドカーに送信される xDS 構成も互換性があり動作上の差異はありませんが、コントロール プレーンの違いは、エンドユーザーから見えるいくつかの特徴として現れます。
- 構成変更の応答時間。新しいコントロール プレーンでは、新しいサービスのデプロイやサービス ポリシーの変更に少し時間がかかります。
- 構成パイプラインは、信頼性を確保するために 2 パスの構成 commit を実行します。最初のパスでは、構成の形式が整っているかどうかを確認する検証が実行されます。次のフェーズでは、構成がサービス デプロイにグローバルに伝播されます。グローバルなクロスゾーンまたはクロスリージョンのロード バランシング、一元化されたヘルスチェック、トラフィック主導の自動スケーリング、マネージド レート制限などの Google Cloud サービスの使用を可能にするために、構成がこれらのシステムに伝播され、正確性が独自に検証されます。また、この構成は、本番環境で緊急事態が発生した際に Google サイト信頼性エンジニアリングがプロダクト オペレーションを安全かつ効率的に実行できるよう内部にも保存されます。
- これらのオペレーションにより信頼性が向上しますが、Anthos Service Mesh の現在のユーザーによって観察されるレイテンシよりも構成プッシュは遅くなります。
- 新しいコントロール プレーンでは、新しい Pod が既存の構成を取得する際のレイテンシがわずかに改善しています。低速構成プッシュは、作成された新しいサービスや、サービスにプッシュされた新しいポリシーの初回伝播で使用されます。エンドポイントの伝播レイテンシは機能的に類似しています。
- エンドポイントに対するスケーリング イベントやその他の変更の速度。これらは、新しいコントロール プレーンでも少なくとも同じ速さで処理されます。これらのイベントには、水平 Pod 自動スケーリングによる新しい Pod の起動または停止、Pod がクラスタ内の別のノードに移動されたことによる新しい IP アドレスでの Pod の再起動などがあります。
- エンドポイント数のスケーリング。新しいグローバル コントロール プレーンでは、メッシュのエンドポイントは、各クラスタからメッシュ内のすべてのクラスタのコントロール プレーンに直接送信されます。これは、以前のマネージド コントロール プレーンで使用されていたアプローチよりもシンプルで高速かつスケーラブルなアプローチです。以前のマネージド コントロール プレーン(専用コントロール プレーン)モデルでは、各 Istiod がメッシュ内の他のすべてのクラスタと通信して、他のすべてのクラスタで使用可能なエンドポイントを決定する必要があります。グローバル コントロール プレーンでは、エンドポイントがグローバル コントロール プレーンに直接伝播されます。これにより、エンドポイントの数が多いメッシュの信頼性とパフォーマンスが向上し、メッシュをより多くのエンドポイントにスケーリングできます。
新しいコントロール プレーンによるユーザーへの影響
新しいコントロール プレーンによる影響は、使用している API とコントロール プレーンによって異なります。
- Traffic Director を使用している場合、コントロール プレーンは同じままです。このガイドの残りの部分をお読みいただく必要はありません。Cloud Service Mesh の実装のドキュメントについては、Google Cloud API で構成するをご覧ください。
- Anthos Service Mesh を使用している場合、既存デプロイのコントロール プレーンにおける次の手順は、マネージド コントロール プレーンとクラスタ内コントロール プレーンのどちらを使用するかによって異なります。
- マネージド コントロール プレーンを使用する場合、いくつかの例外を除き、既存のフリートは新しいコントロール プレーンに移行されます。これは、Cloud Service Mesh でマネージド コントロール プレーン(Traffic Director、TD、実装)と呼ばれます。次のセクションの既存のメッシュとフリートでのコントロール プレーンの移行をご覧ください。Traffic Director コントロール プレーンの実装でサポートされていない機能を使用している場合は、一時的に以前のコントロール プレーンに留まります。このガイドの続きをお読みください。
- クラスタ内コントロール プレーンを使用している場合、コントロール プレーンは同じままです。このガイドの残りの部分をお読みいただく必要はありません。
- Google Cloud 組織がなく、組織のないプロジェクトでマネージド コントロール プレーンを使用する場合は、TD コントロール プレーンが提供されます。
- Anthos Service Mesh のお客様で、新しいフリートを作成している場合は、Traffic Director コントロール プレーンの実装が提供されます。このガイドの続きをお読みください。
- 新しいフリートに TD コントロール プレーンが提供される日付が通知されます。
既存のメッシュとフリートでのコントロール プレーンの移行
2024 年 7 月 22 日より、Google は既存のクラスタを段階的に更新し、TD 実装のマネージド コントロール プレーンを使用します。お客様には、メッシュが更新される前にお知らせします。
Istiod コントロール プレーンと Traffic Director コントロール プレーンの機能については、Istio API を使用したサポートされている機能(マネージド コントロール プレーン)が説明されているページをご覧ください。
クラスタの更新がスケジュールされている場合は、少なくとも 2 週間前にお知らせします。通知は、クラスタレベルの機能の状態の条件で使用できます。
次の 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名前空間にsnkDaemonSet が作成され、クラスタごとにファイアウォール ルールが作成されます。 - ネットワーク エンドポイント グループ(NEG)の取り込みを有効にするために、すべての Kubernetes サービスにアノテーション
cloud.google.com/negが追加されます。 Mesh、Routes、バックエンド サービス、ヘルスチェックなどの新しい Google Cloud リソースがクラスタに作成されます。- Kubernetes Deployment によって管理されている Pod が再起動され、Traffic Director コントロール プレーンに再接続します。
新しいリソースの一部は割り当てが制限されています。割り当てを確認し、必要に応じて追加をリクエストできます。
コントロール プレーンの互換性を確認する
マネージド コントロール プレーンの実装間でのサポートされている機能の違いを確認し、現在の Cloud Service Mesh の使用方法に変更が必要かどうかを判断します。
新しいメッシュのコントロール プレーン
2024 年 7 月 1 日から、マネージド istiod コントロール プレーン実装の既存ユーザーの大半に対して、新しいフリートにおける最新版のマネージド コントロール プレーンの提供が始まりました。最新版には、Google がグローバルに提供する実装、すなわち Traffic Director(TD)コントロール プレーンが含まれています。
istiod コントロール プレーン実装を使用した既存のマネージド Cloud Service Mesh の使用方法を変更しなければ Traffic Director 実装に対応できないユーザーは、2024 年 9 月 8 日まで istiod 実装を引き続き使用できました。お客様の組織がこれに該当する場合は、サービスに関するお知らせをお送りしています。
新しいフリートをマネージド Cloud Service Mesh にオンボーディングし、このフリートが Google Cloud 組織に存在しないか、新しい Google Cloud 組織にある場合、Cloud Service Mesh のリリース日から TD 実装をベースとする新しいマネージド コントロール プレーンが提供されます。
次のステップ
- Anthos Service Mesh の継続的なお客様は、左側の目次の Istio API でサービス メッシュを構成するをご覧ください。
- Traffic Director の継続的なお客様は、 Google Cloud API でサービス メッシュを構成するをご覧ください。