Istio リソースの spec セクションのフィールドを更新すると、Service Mesh (ASM) は更新前のリソースバージョンを記録します。 ASM は、最新のバージョンを最大 5 つ保存します。このトピックでは、仮想サービスを以前のバージョンにロールバックする方法について説明します。
前提条件
バージョン 1.9.7.92 以降の ASM インスタンスが作成されていること。詳細については、「ASM インスタンスを作成する」および「ASM インスタンスを更新する」をご参照ください。
仮想サービスが作成されていること。詳細については、「仮想サービスを管理する」をご参照ください。
背景情報
ASM は、さまざまな Istio リソースを提供します。トラフィック管理に関連する Istio リソースには、仮想サービス、宛先ルール、Istio ゲートウェイ、サービスエントリ、Envoy フィルター、ワークロードグループ、ワークロードエントリ、およびサイドカーリソースが含まれます。ゼロトラストセキュリティに関連する Istio リソースには、リクエスト認証ポリシー、ピア認証ポリシー、および承認ポリシーが含まれます。これらのリソースは、ASM コンソールで作成できます。
手順 1:Istio リソースのロールバック機能を有効にする
次のいずれかの方法を使用して、Istio リソースのロールバック機能を有効にできます。
ASM インスタンスが作成されていない場合は、ASM インスタンスの作成時に [istio カスタムリソースのバージョン管理を有効にする] を選択して、ロールバック機能を有効にします。
既存の ASM インスタンスの場合は、インスタンスの名前をクリックします。[基本情報] ページで、[設定] をクリックします。[設定の更新] パネルで、[Istio カスタムリソースバージョン管理の有効化] を選択して、ロールバック機能を有効にします。次の例は、既存の ASM インスタンスのロールバック機能を有効にする方法を示しています。
ASM コンソール にログインします。左側のナビゲーションペインで、 を選択します。
[メッシュ管理] ページで、ASM インスタンスの名前をクリックします。左側のナビゲーションペインで、 を選択します。
[基本情報] ページで、[設定] をクリックします。[設定の更新] パネルで、[istio カスタムリソースのバージョン管理を有効にする] を選択し、[OK] をクリックします。
手順 2:仮想サービスの以前のバージョンを生成する
ASM は、Istio リソースの spec セクションのフィールドが更新された場合にのみ、Istio リソースの以前のバージョンを記録します。 Istio リソースの他のフィールドを更新した場合、ASM は以前のバージョンを記録しません。
ASM コンソール にログインします。左側のナビゲーションペインで、 を選択します。
[メッシュ管理] ページで、ASM インスタンスの名前をクリックします。左側のナビゲーションペインで、 を選択します。
[virtualservice] ページで、管理する仮想サービスを見つけ、YAML[アクション] 列の をクリックします。
[編集] ダイアログボックスで、
specセクションのフィールドを変更します。たとえば、numberフィールドの値を9080から9081に変更し、[OK] をクリックします。
手順 3:仮想サービスを以前のバージョンにロールバックする
この例では、仮想サービスは v2 にロールバックされます。
ASM コンソール にログインします。左側のナビゲーションペインで、 を選択します。
[メッシュ管理] ページで、ASM インスタンスの名前をクリックします。左側のナビゲーションペインで、 を選択します。
[virtualservice] ページで、管理する仮想サービスを見つけ、バージョン[アクション] 列の をクリックします。
[バージョン] ダイアログボックスで、v2 を見つけ、表示[アクション] 列の ロールバック をクリックします。次に、 をクリックします。
[仮想サービス] ページで、管理する仮想サービスを見つけ、[アクション] 列の [YAML] をクリックします。[編集] ダイアログボックスで、仮想サービスのバージョンが v2 であることを確認できます。
FAQ
ロールバックする Istio リソースに [バージョン] ボタンが表示されない場合はどうすればよいですか?
Istio リソースを以前のバージョンにロールバックする前に、ASM インスタンスのバージョンが 1.9.7.92 以降であり、Istio リソースのロールバック機能が有効になっていることを確認してください。
ASM コンソール以外の方法で Istio リソースを更新した場合、ASM は Istio リソースの以前のバージョンを記録しますか?
はい。 Istio リソースのロールバック機能が有効になっていると、Istio リソースの更新に使用される方法に関係なく、ASM は Istio リソースの以前のバージョンを記録します。
ASM は Istio リソースの以前のバージョンを無制限に保存しますか?
いいえ。 ASM は、Istio リソースの最新のバージョンを最大 5 つ保存します。 Istio リソースが 5 回以上変更された場合、最も古いバージョンはクリアされます。
ASM によって記録された以前のバージョンが実際の YAML コンテンツと同じでないのはなぜですか?
冗長なフィールドは、ASM によって記録された以前のバージョンから省略されます。これは、これらの以前のバージョンの使用には影響しません。たとえば、Istio ゲートウェイの YAML コンテンツでは、spec セクションの servers.tls フィールドのデフォルト値は PASSTHROUGH です。servers.tls フィールドを PASSTHROUGH に再度設定すると、ASM はそのフィールドを冗長なフィールドと見なし、以前のバージョンには記録しません。