継続中のお客様向けのマネージド コントロール プレーン

このドキュメントは、マネージド コントロール プレーンまたはクラスタ内コントロール プレーンを使用して Anthos Service Mesh の契約を継続する方を対象としています。このドキュメントでは、コントロール プレーンの実装と、コントロール プレーンの移行について説明します。

継続して Traffic Director をご利用のお客様、または新規のお客様は、このドキュメントを読む必要はありません。

コントロール プレーンの概要

サービス メッシュでは、コントロール プレーンがトラフィック管理、Envoy プロキシ使用中のプロキシ管理、その他のネットワーク機能を提供します。

Anthos Service Mesh には、マネージド コントロール プレーンとクラスタ内コントロール プレーンの 2 つのコントロール プレーンが用意されています。データプレーンとして Envoy プロキシのみが使用されます。

新しいマネージド コントロール プレーン

新しいマネージド コントロール プレーンは Traffic Director(TD)の実装と呼ばれます。新しいコントロール プレーンはどのような意味を持つのでしょうか。

Anthos Service Mesh プロダクトから Cloud Service Mesh への最も重要な変更点の 1 つは、マルチテナントのグローバル コントロール プレーンへの移行です。

Anthos Service Mesh で使用されるマネージド コントロール プレーンは、単一のクラスタ専用です。GKE で使用される API(Istio CRD)は同じであり、サイドカーに送信される xDS 構成は動作に違いがない互換性がありますが、コントロール プレーンの違いにより、エンドユーザーにはいくつかの特徴が見えてきます。

  • 構成変更の応答時間 新しいコントロール プレーンでは、新しいサービスのデプロイ、またはサービス ポリシーの変更に若干時間がかかります。
    • 構成パイプラインは、信頼性を確保するために 2 パス構成 commit を実行します。最初のパスで検証を行い、構成が正しいかどうかを確認します。後続のフェーズでは、構成がサービスのデプロイにグローバルに伝播されます。グローバルなクロスゾーンまたはクロスリージョンの負荷分散、一元化されたヘルスチェック、トラフィック主導の自動スケーリング、マネージド レート制限などの Google Cloud サービスの使用を可能にするために、構成がこれらのサービスに伝播され、正確性が独自に検証されます。また、構成は、本番環境での緊急時に Google のサイト信頼性エンジニアリングが確実かつ効率的にプロダクト オペレーションを実行できるように、内部に保存されます。
    • これらのオペレーションにより信頼性は高くなりますが、Anthos Service Mesh の現在のユーザーが観測するレイテンシよりも構成の push が遅くなります。
    • 新しい Pod が既存の構成を取得する際のレイテンシは、新しいコントロール プレーンで若干改善されます。遅い構成の push は、作成された新しいサービスまたはサービスに push された新しいポリシーの初回の伝播に使用されます。エンドポイントの伝播レイテンシは、機能的に似ています。
  • イベントのスケーリングとエンドポイントに対するその他の変更の速度。これらは、少なくとも新しいコントロール プレーンと同じ速さで処理されます。これらのイベントには、水平 Pod 自動スケーリングによって開始または停止する新しい Pod や、クラスタ内の別のノードに移動された新しい IP アドレスで再起動する Pod が含まれます。
  • エンドポイントの数をスケーリングする。新しいグローバル コントロール プレーンでは、メッシュのエンドポイントは、メッシュ内のすべてのクラスタから各クラスタからコントロール プレーンに直接送信されます。これは、以前のマネージド コントロール プレーンよりもシンプルで高速かつスケーラブルな方法です。以前の管理対象コントロール プレーン(専用コントロール プレーン)モデルでは、各 Istiod はメッシュ内の他のすべてのクラスタと通信して、他のすべてのクラスタで使用可能なエンドポイントを決定する必要があります。グローバル コントロール プレーンでは、エンドポイントがグローバル コントロール プレーンに直接伝播されます。これにより、多数のエンドポイントが存在するメッシュの信頼性とパフォーマンスが向上し、より多くのエンドポイントにメッシュをスケーリングできます。

新しいコントロール プレーンによるユーザーへの影響

新しいコントロール プレーンによる影響は、使用している API とコントロール プレーンによって異なります。

  • Traffic Director ユーザーの場合、コントロール プレーンは変わりません。このガイドの残りの部分はお読みいただく必要はありません。Cloud Service Mesh の実装に関するドキュメントは、[Google Cloud APIs で構成する] にあります。
  • 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 でクラスタのプロジェクトのフリートに自動的に登録されます。クラスタの登録解除を自動化する場合は、移行前に削除する必要があります。削除しない場合、移行で問題が発生します。マネージド プロダクトが正常に機能するには、メッシュ機能が有効になっているフリートに登録する必要があります。

移行をカスタマイズする必要がある場合、またはサポートされていない機能を使用しているかどうかわからない場合は、サポートにお問い合わせください。

移行中、安全かつ制御された方法で、次の変更が行われます。

  • ヘルスチェックを有効にするには、snk DaemonSet がクラスタの kube-system Namespace に作成され、クラスタごとにファイアウォール ルールが作成されます。
  • ネットワーク エンドポイント グループ(NEG)の取り込みを有効にするために、アノテーション cloud.google.com/neg がすべての Kubernetes Service に追加されます。
  • MeshRoutesバックエンド サービスなどの新しい Google Cloud リソースクラスタにヘルスチェックが作成されます。
  • Kubernetes Deployment によって管理されている Pod が再起動され、Traffic Director コントロール プレーンに再接続します。

新しいリソースの一部には、割り当てが制限されています。割り当てを確認し、必要に応じて追加をリクエストできます。

新しいメッシュのコントロール プレーン

2024 年 6 月 22 日以降、新しいメッシュをプロビジョニングするすべてのフリートには、Google のグローバルに利用可能な実装である Traffic Director(TD)コントロール プレーンで更新されたマネージド コントロール プレーンが提供されます。

新しいフリートをマネージド Cloud Service Mesh にオンボーディングし、このフリートが Google Cloud 組織に存在しないか、新しい Google Cloud 組織にある場合、Cloud Service Mesh のリリース日から TD 実装で新しいマネージド コントロール プレーンを取得します。

次のステップ

  • 引き続き Anthos Service Mesh をご利用の場合は、左側の [Istio API を使用してサービス メッシュを構成する] の目次にドキュメントがあります。
  • Traffic Director を引き続き使用している場合は、Google Cloud APIs を使用したサービス メッシュの構成にドキュメントがあります。