以下の手順は、クラスタに Istio on GKE の入口ゲートウェイが構成されていることが特定されたインストールに固有のものです。このプロセスでは、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-serving
名前空間で 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.
ロールバックを確認するには、
gke-system
名前空間にistio-ingressgateway
サービスが存在しないことを確認します。kubectl get deployment istio-ingressgateway -n gke-system
次のコマンドを実行して、「Istio アドオン」を再度有効にします。
./migration-addon.sh --command rollback-uninstall-istio-addon
引き続きインストールの変更を元の状態にロールバックするには、Istio アドオンをロールバックします。