ランキングに戻る

argoproj/argo-rollouts

Goargo-rollouts.readthedocs.io

Progressive Delivery for Kubernetes

gitopscanarybluegreenkubernetesargoprojdeploymentsexperimentsargo-rolloutsprogressive-deliveryhacktoberfest
スター成長
スター
3.5k
フォーク
1.2k
週間成長
Issue
500
1k2k3k
2018年11月2021年5月2023年12月2026年7月
成果物Go Modulesgo get github.com/argoproj/argo-rollouts
README

Argo Rollouts - Progressive Delivery for Kubernetes

codecov slack CII Best Practices OpenSSF Scorecard Artifact HUB

What is Argo Rollouts?

Argo Rollouts is a Kubernetes controller and set of CRDs which provide advanced deployment capabilities such as blue-green, canary, canary analysis, experimentation, and progressive delivery features to Kubernetes.

Argo Rollouts (optionally) integrates with ingress controllers and service meshes, leveraging their traffic shaping abilities to gradually shift traffic to the new version during an update. Additionally, Rollouts can query and interpret metrics from various providers to verify key KPIs and drive automated promotion or rollback during an update.

Argo Rollouts Demo

Quick Start

kubectl create namespace argo-rollouts
kubectl apply -n argo-rollouts -f https://github.com/argoproj/argo-rollouts/releases/latest/download/install.yaml

Follow the full getting started guide to walk through creating and then updating a rollout object.

Why Argo Rollouts?

Kubernetes Deployments provides the RollingUpdate strategy which provide a basic set of safety guarantees (readiness probes) during an update. However the rolling update strategy faces many limitations:

  • Few controls over the speed of the rollout
  • Inability to control traffic flow to the new version
  • Readiness probes are unsuitable for deeper, stress, or one-time checks
  • No ability to query external metrics to verify an update
  • Can halt the progression, but unable to automatically abort and rollback the update

For these reasons, in large scale high-volume production environments, a rolling update is often considered too risky of an update procedure since it provides no control over the blast radius, may rollout too aggressively, and provides no automated rollback upon failures.

Features

  • Blue-Green update strategy
  • Canary update strategy
  • Fine-grained, weighted traffic shifting
  • Automated rollbacks and promotions
  • Manual judgement
  • Customizable metric queries and analysis of business KPIs
  • Ingress controller integration: NGINX, ALB, Apache APISIX
  • Service Mesh integration: Istio, Linkerd, SMI
  • Metric provider integration: Prometheus, Wavefront, Kayenta, Web, Kubernetes Jobs, Datadog, New Relic, InfluxDB

Supported Traffic Shaping Integrations

Traffic Shaping Integration SetWeight SetWeightExperiments SetMirror SetHeader Implemented As Plugin
ALB Ingress Controller :white_check_mark: (stable) :white_check_mark: (stable) :x: :white_check_mark: (alpha)
Ambassador :white_check_mark: (stable) :x: :x: :x:
Apache APISIX Ingress Controller :white_check_mark: (alpha) :x: :x: :white_check_mark: (alpha)
Istio :white_check_mark: (stable) :white_check_mark: (stable) :white_check_mark: (alpha) :white_check_mark: (alpha)
Nginx Ingress Controller :white_check_mark: (stable) :x: :x: :x:
SMI :white_check_mark: (stable) :white_check_mark: (stable) :x: :x:
Traefik :white_check_mark: (stable) :x: :x: :x:
Contour :white_check_mark: (beta) :x: :x: :x: :heavy_check_mark:
Gateway API :white_check_mark: (alpha) :x: :x: :x: :heavy_check_mark:

:white_check_mark: = Supported

:x: = Not Supported

:heavy_check_mark: = Yes

Documentation

To learn more about Argo Rollouts go to the complete documentation.

Community

You can reach the Argo Rollouts community and developers via the following channels:

Who uses Argo Rollouts?

Official Argo Rollouts User List

Community Blogs and Presentations

関連リポジトリ
openfaas/faas

OpenFaaS - Serverless Functions Made Simple

GoGo ModulesOtherfunctions-as-a-servicefunctions
openfaas.com
26.2k2k
argoproj/argo-cd

Declarative Continuous Deployment for Kubernetes

GoGo ModulesApache License 2.0argokubernetes
argo-cd.readthedocs.io
23.7k7.5k
argoproj/argo-workflows

Workflow Engine for Kubernetes

GoGo ModulesApache License 2.0workflowkubernetes
argo-workflows.readthedocs.io
16.8k3.6k
bytebase/bytebase

World's most advanced database DevSecOps solution for Developer, Security, DBA and Platform Engineering teams. The GitHub/GitLab for database DevSecOps.

GoGo ModulesOthermysqltidb
bytebase.com
14.3k963
meshery/meshery

Meshery, the cloud native manager

TypeScriptnpmApache License 2.0mesherymanagement-plane
meshery.io
11.4k3.6k
iam-veeramalla/Jenkins-Zero-To-Hero

Install Jenkins, configure Docker as slave, set up cicd, deploy applications to k8s using Argo CD in GitOps way.

PythonPyPIMIT Licenseargocdcicd
youtube.com/@AbhishekVeeramalla
9.9k19.4k
khuedoan/homelab

Fully automated homelab from empty disk to running services with a single command.

PythonPyPIGNU General Public License v3.0kubernetespxe
homelab.khuedoan.com
9.5k881
bitnami/sealed-secrets

A Kubernetes controller and tool for one-way encrypted Secrets

GoGo ModulesApache License 2.0kuberneteskubernetes-secrets
9.2k771
fluxcd/flux2

Open and extensible continuous delivery solution for Kubernetes. Powered by GitOps Toolkit.

GoGo ModulesApache License 2.0gitops-toolkitgitops
fluxcd.io
8.3k775
bitnami-labs/sealed-secrets

A Kubernetes controller and tool for one-way encrypted Secrets

GoGo ModulesApache License 2.0kuberneteskubernetes-secrets
8k697
fluxcd/flux

Successor: https://github.com/fluxcd/flux2

GoGo ModulesApache License 2.0kubernetesgitops
fluxcd.io
6.9k1.1k
fleetdm/fleet

Open device management

GoGo ModulesOtherosquerygitops
fleetdm.com
6.6k949