マネージド データプレーン

このページでは、マネージド Cloud Service Mesh のデータプレーンを管理する方法について説明します。

マネージド Cloud Service Mesh を使用している場合、Google がプロキシのアップグレードを完全に管理します。

マネージド データプレーン機能が有効な場合、サイドカー プロキシと挿入されたゲートウェイは、ワークロードを再起動してプロキシの新しいバージョンを再挿入することで、マネージド コントロール プレーンとともにアクティブに自動的に更新されます。コントロール プレーンがアップグレードされた後に開始され、通常は開始から 2 週間以内に完了します。

マネージド データプレーンは GKE リリース チャンネルに依存します。マネージド データプレーンが有効になっているときに GKE リリース チャンネルを変更すると、マネージド Cloud Service Mesh は、マネージド データプレーンのロールアウトと同様に、既存のすべてのワークロードのプロキシを更新します。

無効になっている場合、プロキシ管理はクラスタ内の Pod の通常のライフサイクルに基づいて受動的に行われます。更新頻度を制御するには、ユーザーが手動でトリガーする必要があります。

マネージド データプレーンは、古いバージョンのプロキシを実行している Pod を削除することで、プロキシをアップグレードします。この削除は、Pod Disruption Budget を維持しながら変更率を制御することによって、段階的に行われます。

Cloud Service Mesh データプレーンの新しいバージョンがデプロイされる場合

マネージド データプレーン 新しい Cloud Service Mesh データプレーンのデプロイをトリガーするイベント
Cloud Service Mesh のアクティブな更新
新しいバージョンが利用可能になった場合にアクティブに更新される1
新しい Pod の作成
ユーザーまたは水平 Pod 自動スケーリングが新しいワークロードをデプロイする場合
GKE メンテナンスの時間枠
GKE メンテナンスの時間枠内でノードが置き換えられる場合
有効
無効

1 Cloud Service Mesh のアクティブな更新により、StatefulSetsJobsDaemonSets、手動で挿入された Pods を除く、ワークロード内の Pods が自動的に置き換えられます。Cloud Service Mesh のアクティブな更新は、Pod Disruption Budget を考慮します。

  • 優先度の低いアクティブな更新は、GKE メンテナンスの時間枠内で行われます。
  • 優先度の高いアクティブな更新は、GKE メンテナンスの時間枠に関係なく、Cloud Service Mesh によってクラスタで利用可能になった時点で実行できます。優先度の高いアクティブな更新には、通常、少なくとも 1 つの関連する CVE があります。

Cloud Service Mesh データプレーンのライフサイクルを自分で管理したくない場合、かつワークロードで Pod の随時置き換えが許容される場合は、マネージド データプレーンを有効にします。

すべての Cloud Service Mesh データプレーンの更新の時間を完全に制御する場合は、マネージド データプレーンを無効にします。

メンテナンス通知は、デフォルトでは送信されません。詳細については、このドキュメントのマネージド データプレーンのメンテナンス通知を有効にするをご覧ください。

制限事項

マネージド データプレーンでは、次のものは管理されません。

  • 挿入されなかった Pod
  • 手動で挿入された Pod
  • ジョブ
  • StatefulSet
  • DaemonSet

マネージド Cloud Service Mesh を古いクラスタでプロビジョニングした場合は、そのクラスタ全体でデータプレーン管理を有効にできます。

kubectl annotate --overwrite controlplanerevision -n istio-system \
REVISION_LABEL \
mesh.cloud.google.com/proxy='{"managed":"true"}'

または、特定の Namespace または Pod で同じアノテーションを設定して、マネージド データプレーンを選択的に有効にできます。個別のコンポーネントを選択的に制御する場合、優先順位は、コントロール プレーンのリビジョン、Namespace、Pod の順です。

サービスがクラスタ内のプロキシを管理する準備ができるまでに、最大 10 分かかります。次のコマンドを実行してステータスを確認します。

gcloud container fleet mesh describe --project FLEET_PROJECT_ID

予想される出力

membershipStates:
  projects/PROJECT_NUMBER/locations/global/memberships/CLUSTER_NAME:
    servicemesh:
      dataPlaneManagement:
        details:
        - code: OK
          details: Service is running.
        state: ACTIVE
    state:
      code: OK
      description: 'Revision(s) ready for use: asm-managed-rapid.'

サービスの準備が 10 分以内に完了しない場合は、マネージド データプレーンのステータスで次の手順を確認してください。

マネージド データプレーンを無効にする(省略可)

新しいクラスタでマネージド Cloud Service Mesh をプロビジョニングする場合は、マネージド データプレーンを完全に無効にすることも、個々の Namespace や Pod に対して無効にすることもできます。既存のクラスタがデフォルトで無効になっている場合、または手動で無効にした場合、マネージド データプレーンは引き続き無効になります。

マネージド データプレーンをクラスタレベルで無効にし、サイドカー プロキシを再び自分で管理するには、すべての controlplanerevision を見つけて、各アノテーションを変更します。

  1. すべてのコントロール プレーンのリビジョンを確認します。

    kubectl get controlplanerevisions -n istio-system
    
  2. アノテーションを変更します。

    kubectl annotate --overwrite controlplanerevision CONTROL_PLANE_REVISION_NAME -n istio-system mesh.cloud.google.com/proxy='{"managed":"false"}'
    

    コントロール プレーン リビジョンごとにこの手順を繰り返します。

    CONTROL_PLANE_REVISION_NAME は、前のコマンドの出力に置き換えます。

    Namespace のマネージド データプレーンを無効にするには:

    kubectl annotate --overwrite namespace NAMESPACE \
     mesh.cloud.google.com/proxy='{"managed":"false"}'
    

    Pod のマネージド データプレーンを無効にするには:

    kubectl annotate --overwrite pod POD_NAME \
     mesh.cloud.google.com/proxy='{"managed":"false"}'
    

マネージド データプレーンのメンテナンスの時間枠を有効にする

GKE メンテナンスの時間枠を構成している場合、アクティブなアップグレードは次に利用可能なメンテナンスの時間枠の開始時に開始され、すべてのマネージド Pod が更新されるまで一時停止せずに続行します(通常 12 時間)。CVE 関連のロールアウトではメンテナンスの時間枠は適用されません。

Cloud Service Mesh は、GKE に合わせて GKE メンテナンスの時間枠を使用します。

マネージド データプレーンのメンテナンス通知を有効にする

メンテナンスが予定されている遅くとも 1 週間前に、メンテナンスの時間枠内でスケジュールされているマネージド データプレーンのメンテナンスの予定の通知を送信するようにリクエストできます。メンテナンス通知は、デフォルトでは送信されません。また、通知を受信するには、GKE メンテナンスの時間枠を構成する必要があります。有効にすると、アップグレード オペレーションの 2 日以上前に通知が送信されます。

マネージド データプレーンのメンテナンス通知を有効にするには:

  1. [通信] ページに移動します。

    [通信] ページに移動

  2. [Cloud Service Mesh Upgrade] 行の [メール] 列で、メンテナンス通知をオンにするラジオボタンを選択します。

通知を受け取るユーザーごとに個別にオンにする必要があります。通知のメールフィルタを設定する場合、件名は次のようになります。

Upcoming upgrade for your Cloud Service Mesh cluster "CLUSTER_LOCATION/CLUSTER_NAME"

次の例に、一般的なマネージド データプレーンのメンテナンス通知を示します。

件名: Cloud Service Mesh クラスタ「<location/cluster-name>」のアップグレードの予定

Cloud Service Mesh をご利用のお客様へ、

クラスタ ${instance_id}(https://console.cloud.google.com/kubernetes/clusters/details/${instance_id}/details?project=${project_id})の Cloud Service Mesh コンポーネントのアップグレードが ${scheduled_date_human_readable} ${scheduled_time_human_readable} に予定されています。

新しい更新内容については、リリースノート(https://cloud.google.com/service-mesh/docs/release-notes)をご覧ください。

このメンテナンスがキャンセルされた場合は、別途メールが届きます。

何卒よろしくお願い申し上げます。

Cloud Service Mesh チーム

(c) 2023 Google LLC 1600 Amphitheater Parkway, Mountain View, CA 94043 このお知らせは、Google Cloud Platform またはお客様のアカウントの重要な変更に関する最新情報をお届けするためにお送りしています。メンテナンスの時間枠の通知をオプトアウトするには、ユーザー設定( https://console.cloud.google.com/user-preferences/communication?project=${project_id})を編集してください。