カナリア戦略を使用したデプロイ

Container Engine for Kubernetes (OKE)およびインスタンス・グループ・デプロイメントのカナリア・リリース戦略を使用して、アーティファクトをデプロイします。

Oracle Cloud Infrastructure (OCI) DevOpsサービスでは、カナリア・デプロイメント戦略は次のステージに実装されます:

  1. カナリア・デプロイメント・ステージ: このステージでは、デプロイするアーティファクトとともに、カナリア環境(インスタンス・グループまたはOKE用)が選択されます。インスタンス・グループのカナリア・トラフィック・シフト用にロード・バランサが選択されます。OKEデプロイメントの場合、トラフィックをルーティングするためにNGINXイングレス・コントローラを設定する必要があります。デプロイメントの実行中、新しいバージョンのアプリケーションがカナリア環境にデプロイされます。
  2. (オプション)ファンクションの呼出しステージ: このステージでは、カスタム・ファンクションをパイプラインに追加して、カナリア環境のデプロイメントを検証できます。呼び出されたファンクションは、本番環境に移動する前に新しいバージョンをテストします。
  3. シフト・トラフィック・ステージ: このステージでは、本番トラフィックの一部がカナリア環境にシフトされます。
  4. 手動承認ステージ: このステージでは、アプリケーションを本番環境にデプロイする前にカナリア環境のデプロイメントを承認するために、手動承認ステップが追加されます。
  5. 本番ステージ: このステージでは、本番環境(インスタンス・グループまたはOKE用)が選択されます。カナリア環境で検証されたアプリケーションは、デプロイメントの実行中に本番環境にデプロイされます。
図1. カナリア・デプロイメント・ワークフロー
カナリア・デプロイメント・ワークフロー

デプロイメントのロールバック

カナリア・デプロイメント戦略では、インスタンス・グループとOKEのどちらについても、パイプラインの再デプロイメントがサポートされています。本番ステージが失敗した場合に、デプロイメントを最後に成功したバージョンに自動的にロールバックするように選択できます。単一ステージの再デプロイメントは、カナリア・デプロイメント、トラフィック・シフトおよび承認のステージではサポートされていません。詳細は、デプロイメントのロールバックおよびデプロイメントの再実行を参照してください。

カナリア・デプロイメント戦略の実装については、カナリア・インスタンス・グループ・デプロイメントおよびカナリアOKEデプロイメントを参照してください。