Flaggerは、Kubernetes上で動作するアプリケーションのリリースプロセスを自動化する、プログレッシブデリバリーツールです。 メトリクスを測定し、適合性テストを実行しながら、トラフィックを徐々に新しいバージョンに移行することで、本番環境に新しいソフトウェア バージョンを導入するリスクを低減します。
Flaggerは、トラフィック ルーティングにサービスメッシュ (App Mesh, Istio, Linkerd) または入口コントローラー (Contour, Gloo, NGINX, Skipper, Traefik) を使用して複数の導入戦略 (Canary リリース, A/B テスト、ブルー / グリーンミラーリング ) を実装しています。 リリース分析のために、Flagger は Prometheus、Datadog、New Relic または CloudWatch をクエリでき、アラートのために Slack、MS Teams、Discord、Rocket を使用します。
Flagger は Kubernetes カスタムリソースと構成でき、Kubernetes 用の CI/CDソリューションに互換性を持っています。 Flagger は宣言型で Kubernetes イベントに反応するので、Flux、JenkinsX、Carvel、Argo などのツールとともに GitOps パイプラインで使用できます。
Flagger は Cloud Native Computing Foundation プロジェクトであり、GitOps ツールの Flux ファミリーの一部です。
flagger を始めるには、サポートされるルーティング プロバイダーの 1つを選び、Helm または Kustomize とともに Flagger をインストールします。
Flaggerをインストールした後、これらのチュートリアルの1つに従って始めることができます。
サービスメッシュ チュートリアル
-
Istio
-
Linkerd
Ingress コントローラ チュートリアル
-
Contour
-
Gloo
-
Traefik
Hands- (ハンズオンGitOpsワークショップ
-
Istio
-
Linkerd
に参加しました。