Kubernetes クラスターにデプロイされている Spring Cloud または Dubbo マイクロサービスアプリケーションの場合、カナリアリリースを実装できます。カナリアリリースを使用すると、少数のインスタンスで新しいアプリケーションバージョンを検証できます。検証が成功した場合、すべてのインスタンスのアプリケーションを新しいバージョンに更新できます。これにより、更新が安全になります。このトピックでは、EDAS コンソールを使用して Kubernetes クラスター内のアプリケーションのカナリアリリースを実装する方法について説明します。
制限事項
High-Speed Service Framework(HSF)アプリケーション: カナリアリリースはサポートされていません。
Dubbo アプリケーション: 制限なしで Dubbo アプリケーションのカナリアリリースを実装できます。
Spring Cloud アプリケーション: Deployment.Metadata.Name または Deployment.Metadata.Uid を使用してアプリケーションの一部の機能を設定する場合は、アプリケーションのカナリアリリースを実装しないでください。そうしないと、カナリアリリース後にアプリケーションのネイティブ機能が異常になる可能性があります。
イングレスアプリケーション: アプリケーションがイングレスアプリケーションで、サーバーロードバランサー(SLB)インスタンスを使用してトラフィックをイングレスアプリケーションに直接転送する場合、SLB トラフィック転送ポリシーはカナリアリリースポリシーに従いません。
説明それでもイングレスアプリケーションにカナリアリリース機能を使用する場合は、クライアントアプリケーションと複数のレプリカを持つサーバーアプリケーションを作成できます。次に、サーバーアプリケーションのカナリアリリースを実装し、SLB インスタンスをクライアントアプリケーションに関連付けて、SLB を使用したサービスアクセスを許可できます。
手順
EDAS [コンソール] にログオンします。
左側のナビゲーションペインで、 を選択します。トップナビゲーションバーで、リージョンを選択します。[アプリケーション] ページの上部にある [マイクロサービス名前空間] ドロップダウンリストから、マイクロサービス名前空間を選択します。
アプリケーション ページで、Kubernetes クラスタークラスタタイプ ドロップダウンリストから アプリケーション を選択します。次に、カナリアリリースを実装する の名前をクリックします。
アプリケーション概要 ページの右上隅にある を選択します。デプロイモードの設定 ページで、デプロイの開始カナリアリリース(段階的) セクションの右上隅にある をクリックします。
カナリアリリース(段階的) ページで、ビジネス要件に基づいて、アプリケーションの新しいバージョンのデプロイ方法、リリースポリシー、およびカナリアリリーシングルールを設定します。次に、OK をクリックします。
カナリアリリースが開始されると、EDAS はアプリケーションの新しいバージョンを指定されたカナリアインスタンスグループにデプロイします。デプロイの進捗状況とステータスは、アップグレード履歴 ページに表示されます。
説明トラフィックが想定どおりに分散されているかどうかを確認できます。詳細については、「HSF サービスガバナンス」をご参照ください。
カナリアリリースのトラフィックが検証された後、次のバッチを開始変更リスト ページの右側にある をクリックします。後続のバッチのリリースを完了します。
検証中に問題が発生した場合は、変更リスト ページの右上隅にある ロールバック をクリックできます。表示されるダイアログボックスで、OK をクリックします。
カナリアリリースが完了したら、アプリケーション概要 ページの デプロイ仕様 セクションで、デプロイパッケージが新しいバージョンであるかどうかを確認します。