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

このドキュメントは、マネージド コントロール プレーンまたはクラスタ内コントロール プレーンを使用している 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 を使用して、クラスタのプロジェクト内のフリートに自動的に登録されます。クラスタの登録解除を自動化する場合は、モダナイゼーション前に削除する必要があります。削除しない場合、モダナイゼーションで問題が発生します。マネージド プロダクトが正常に機能するには、メッシュ機能が有効になっているフリートに登録する必要があります。

モダナイゼーションをカスタマイズする必要がある場合や、サポートされていない機能を使用しているかどうかについてご不明な点がある場合は、サポートにお問い合わせください。

モダナイゼーション中は、安全かつ制御された方法で次の変更が行われます。

  • ヘルスチェックを有効にするために、クラスタの kube-system 名前空間に snk DaemonSet が作成され、クラスタごとにファイアウォール ルールが作成されます。
  • ネットワーク エンドポイント グループ(NEG)の取り込みを有効にするために、アノテーション cloud.google.com/neg がすべての Kubernetes Service に追加されます。
  • MeshRoutesバックエンド サービスなどの新しい 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 実装を引き続き使用できました。

一部のユーザーは、新しいフリートで istiod コントロール プレーンの実装を引き続き利用できるように、さらにスノーフレーク化されました。これが組織に該当する場合は、サービスに関するお知らせが届いています。

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

次のステップ

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