マネージド Anthos Service Mesh リリース チャンネルを選択する

Anthos Service Mesh は、アップデートを頻繁にリリースして、セキュリティ アップデートの提供、既知の問題の修正、新機能の導入を行っています。リリース チャンネルは、マネージド Anthos Service Mesh で利用できます。これにより、安定性と Anthos Service Mesh バージョンの機能セットのバランスを取ることができます。Anthos Service Mesh リリース チャンネルは、概念的には GKE リリース チャンネルと似ていますが、GKE リリース チャンネルから独立しています。各リリース チャンネルのバージョンとアップグレードの頻度は、Google によって自動的に管理されます。

このドキュメントでは、リリース チャンネルの選択方法、リリース チャンネルの比較、非マネージド プロキシの更新方法について説明します。

利用可能なリリース チャンネル

以下のリリース チャンネルが利用可能です。各チャンネルには、利用できる機能と更新チャーンの間にトレードオフ関係があります。各チャンネルの機能の成熟度はそれぞれ異なります。重要なセキュリティ パッチは、クラスタと Google のインフラストラクチャを保護するため、すべてのリリース チャンネルに配信されます。

チャンネル 新しいマネージド Anthos Service Mesh の可用性 プロパティ
Rapid Anthos Service Mesh のリリース後 Anthos Service Mesh の最新リリースをできるだけ早く入手して、リリースに含まれる時点で新機能を使用できるようにしてください。コントロール プレーンは、パッチ バージョンが常に最新に保たれるように頻繁に更新され、新しい機能を提供します。Rapid チャンネルは、本番前環境で新しい Anthos Service Mesh バージョンと API をテストするのに最適です。
Regular Rapid は Regular に昇格* Anthos Service Mesh と Istio の機能は、リリース後すぐに、長期間にわたって認定されてきたバージョンでアクセスできます。機能の可用性とリリースの安定性のバランスが取れているため、ほとんどのユーザーにおすすめです。
Stable Regular は Stable に昇格* 新機能よりも安定性を優先します。このチャンネルの変更点と新バージョンは、Rapid チャンネルと Regular チャンネルで検証されてから、最後に公開されます。これによって、さらに時間をかけて検証できます。
*次のチャンネルのプロモーション スケジュールは、オープンソースの Istio リリース、Anthos リリース、パッチ適用スケジュールなど、複数の要因によって異なるため、変更される可能性があります。最新情報を入手するには、Anthos Service Mesh リリースノートの URL をフィード リーダーに追加するか、次のフィード URL を直接追加します。https://cloud.google.com/feeds/servicemesh-release-notes.xml

マネージド Anthos Service Mesh のマイナー バージョンが十分に使用され、Rapid チャンネルで安定性が確認されると、Regular チャンネルに昇格します。最終的に、マイナー バージョンは高優先度のアップデートとセキュリティ パッチのみが提供される Stable チャンネルに昇格します。昇格はそれぞれ、そのバージョンを実行しているコントロール プレーンの観測されたパフォーマンスに基づいて、段階的な安定性レベルと本番環境の対応状況を表します。

すべてのチャンネルは一般提供(GA)リリースに基づいています(ただし、個々の機能は必ずしも一般提供とは限りません)。新しい Anthos Service Mesh バージョンは、まず Rapid チャンネルにリリースされ、その後 Regular、Stable チャンネルに昇格します。これにより、ビジネス、安定性、機能のニーズを満たすチャンネルを選択できます。

各チャンネルの Anthos Service Mesh のバージョン

次の表は、現在の Anthos Service Mesh バージョンのマッピングへのチャンネルを示します。

チャンネル Anthos Service Mesh のバージョン
Rapid 1.13
Regular 1.12
Stable 1.11

チャンネル バージョンは定期的にアップグレードされています。現在のバージョンではなく、望ましい安定性に基づいてチャンネルを選択してください。

リリース チャンネルを選択する方法

Google 管理のコントロール プレーンを適用する際に、asmcli install--channel {stable|regular|rapid} オプションを使用して、クラスタのリリース チャンネルを選択します。同じ Anthos Service Mesh マネージド クラスタに、複数のチャンネルをインストールすることはできません。

デフォルトのチャンネル

新しくインストールされた Anthos Service Mesh のクラスタにマネージド チャンネルが 1 つインストールされている場合は、そのチャンネルがクラスタのデフォルト チャンネルになります。

既存の Istio または Anthos Service Mesh がインストールされているクラスタにデフォルトタグが構成されている場合は、マネージド リビジョンを参照する必要があります。そうでない場合は、何もする必要はありません。

istio-injection=enabled ラベルは、デフォルトのリビジョンなど、チャンネルに使用する他のラベルへのインジェクションを指すエイリアスとして使用できます。Google のドキュメントで、インジェクションに istio.io/rev 名前空間ラベルの使用が示されている場合は、代わりに istio-injection=enabled ラベルを使用できます。

インジェクション ラベル

Anthos Service Mesh で特定の Namespace のワークロードを管理できるようにするには、インストール済みのチャンネルに対応するラベルを Namespace に付ける必要があります。マネージド Anthos Service Mesh は、次の 2 種類のラベルをサポートしています。

  • 標準のリビジョン ラベル、つまりチャンネル stableregularrapid に対応する asm-managed-stableasm-managedasm-managed-rapid
  • デフォルトのインジェクション ラベル。そのクラスタのデフォルト チャンネルに対応するラベルです(例: istio-injection=enabled)。デフォルトのインジェクション ラベルを使用すると、リビジョン間の移行が簡単になります。たとえば、Istio OSS または非マネージド Anthos Service Mesh からマネージド Anthos Service Mesh に移行する場合、各名前空間に個別にラベルを付ける必要はありません。Anthos Service Mesh のドキュメントで、インジェクションに istio.io/rev 名前空間ラベルの使用が示されている場合は、代わりに istio-injection=enabled ラベルを使用できます。

インジェクション ラベルは、sidecar.istio.io/inject(通常ゲートウェイに使用)と istio.io/rev(名前空間とワークロードの両方で機能)によるワークロードのラベル付けでも使用されます。

デフォルトのインジェクション ラベル

デフォルトのインジェクション ラベルを名前空間に適用するには:

kubectl label namespace NAMESPACE istio-injection=enabled istio.io/rev- --overwrite

リビジョン ラベル

他の Kubernetes ラベルと同様に、リビジョン ラベルは Key-Value ペアです。リビジョン ラベルのキーは常に istio.io/rev ですが、値は異なります。リリース チャンネルを選択するには、名前空間に次のリビジョン名のいずれかを適用します。

リビジョン名 チャンネル
asm-managed Regular
asm-managed-rapid Rapid
asm-managed-stable Stable

たとえば、Regular リリース チャンネルを名前空間に適用するには、次のようにします。

kubectl label namespace NAMESPACE istio.io/rev=asm-managed --overwrite

クラスタのリリース チャンネルと同じものを使用することをおすすめします。

名前空間で使用されているリリース チャンネルを確認するには:

kubectl get namespace NAMESPACE -o jsonpath='{.metadata.labels.istio\.io/rev}{"\n"}'

非マネージド プロキシの更新

Anthos Service Mesh がリリースされるたびに、サービスとゲートウェイの非マネージド プロキシを再起動します。コントロール プレーンとプロキシのバージョンが異なる場合は、サービス メッシュに問題はありませんが、新しい Anthos Service Mesh バージョンを使用して構成されるようにプロキシを更新することをおすすめします。

  1. コントロール プレーンとプロキシのバージョンを確認します。

  2. コントロール プレーン バージョンがプロキシ バージョンより新しい場合は、サービスとゲートウェイ用の非マネージド プロキシを再起動します。

    kubectl rollout restart deployment -n NAMESPACE