継続して使用しているお客様向けのマネージド コントロール プレーン
このドキュメントは、マネージド コントロール プレーンまたはクラスタ内コントロール プレーンを使用している 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 の現在のユーザーが観測するレイテンシよりも構成プッシュが遅くなります。
- 新しい Pod が既存の構成を取得するレイテンシは、新しいコントロール プレーンではわずかに改善されていることが測定されています。低速構成プッシュは、作成された新しいサービスや、サービスにプッシュされた新しいポリシーの初回伝播用です。エンドポイントの伝播レイテンシは機能的に類似しています。
- スケーリング イベントやエンドポイントのその他の変更の速度。これらは、新しいコントロール プレーンでも少なくとも同じ速さで処理されます。これらのイベントには、水平 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)の取り込みを有効にするには、すべての 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 APIs でサービス メッシュを構成するをご覧ください。