以下の手順は、クラスタに Istio on GKE の Ingress ゲートウェイが構成されていることが特定されたインストールに固有のものです。このプロセスでは、マネージド コントロール プレーンを使用して Cloud Service Mesh バージョン 1.18 がインストールされます。
始める前に
- Istio アドオンからの移行には、Google マネージド コントロール プレーンで Cloud Service Mesh を使用する必要があります。したがって、Cloud Service Mesh のクラスタ内コントロール プレーンは、移行オプションとしてサポートされていません。 
- アップグレードの要件を満たしていることを確認する必要があります。 
- このページのコマンドは、アップグレード準備手順の環境変数と移行スクリプトを使用します。 
- このプロセスの各ステップを、指定された順序で実行することが重要です。 
概要
一般に、マネージド コントロール プレーンを使用して Istio アドオンから Cloud Service Mesh に移行するプロセスは次のとおりです。
- Cloud Service Mesh マネージド コントロール プレーンをインストールします。
- 移行スクリプトを使用して Cloud Service Mesh Ingress ゲートウェイを構成します。
Cloud Service Mesh バージョン 1.18 に移行する
Cloud Service Mesh のドキュメント「Istio on GKE から Cloud Service Mesh への移行」の詳細な手順を実施する必要があります。インストールが完了し、ワークロードを移行したら、このページに戻って残りの構成手順を完了します。
- 「Istio アドオンの移行手順」の説明に従って、Google マネージド コントロール プレーンを使用して Cloud Service Mesh に移行します。 - このプロセスで留意すべき重要な事項は次のとおりです。 - 「 - custom envoy filters are not supported」というプロンプトが表示された場合は、次の操作を行います。[はい] を選択して、移行を続行します。例:- Detected custom envoy filters are not supported by Cloud Service Mesh. Please remove these if possible NAMESPACE NAME AGE gke-system allowconnect-cluster-local-gateway 26m Continue anyways? [y/N] Y
- この移行手順の「移行を正常に完了する」セクションでは、Cloud Service Mesh のインストールを完了するための手順を実施します。重要: これらの手順を実施すると、変更をロールバックできなくなります。 
 - Istio アドオンの移行手順: Istio on GKE から Cloud Service Mesh への移行 
- 移行手順を完了し、ワークロードを Cloud Service Mesh に移行したら、次のコマンドを実行して Ingress Pod を再起動し、 - knative-servingNamespace で Ingress Pod にラベルを付けます。- Ingress Pod を再起動します。 - kubectl rollout restart deployment autoscaler activator webhook -n knative-serving
- istio: ingressgatewayラベルを追加します。- kubectl patch deployment ${INGRESS_NAME} --namespace ${INGRESS_NAMESPACE} --patch '{"spec": {"template": {"metadata": {"labels": {"istio": "ingressgateway"}}}}}'
 
Cloud Service Mesh Ingress を構成する
このセクションでは、移行スクリプトを使用して、Cloud Service Mesh マネージド コントロール プレーンのリリース チャンネルを asm-managed-rapid に設定します。
次のコマンドを実行して、移行スクリプトを開始します。
 ./migration-addon.sh \
 --asm-revision asm-managed-rapid \
 --command set-up-asm-ingress
次のステップ
ロールバック
前述の手順での変更をロールバックする必要がある場合は、次の操作を行います。
- 移行スクリプトを使用して Cloud Service Mesh Ingress を削除する。
- Cloud Service Mesh のインストールをロールバックする。
Google マネージド コントロール プレーンを使用して Cloud Service Mesh のインストールと構成をロールバックするには、次の操作を行います。
- 次のコマンドを実行して、Cloud Service Mesh Ingress を削除します。 - ./migration-addon.sh --command rollback-set-up-asm-ingress- 処理中のターミナル出力は次のようになります。 - Deleting Cloud Service Mesh ingress deployment.apps "istio-ingressgateway" deleted horizontalpodautoscaler.autoscaling "istio-ingressgateway" deleted role.rbac.authorization.k8s.io "istio-ingressgateway-sds" deleted rolebinding.rbac.authorization.k8s.io "istio-ingressgateway-sds" deleted Cloud Service Mesh ingress is successfully deleted.
- ロールバックを確認するには、 - istio-ingressgatewayサービスが- gke-systemNamespace に存在しないことを確認します。- kubectl get deployment istio-ingressgateway -n gke-system
- 次のコマンドを実行して、Istio アドオンを再度有効にします。 - ./migration-addon.sh --command rollback-uninstall-istio-addon
- 引き続きインストールの変更を元の状態にロールバックするには、Istio アドオンをロールバックします。