Canaries with Istio and Argo RolloutsSchritt 9 von 13: Installing Argo Rollouts
Alle Labs

Installing Argo Rollouts

Argo Rollouts is a Kubernetes controller and set of CRDs (Custom Resource Definitions) that provide advanced deployment capabilities such as blue-green and canary deployments. It integrates with various service meshes, including Istio, to manage traffic routing during deployments. There are other tools that provide similar functionality, such as Flagger, but for this lab, we will use Argo Rollouts.

Although Argo Rollouts can be installed in various ways, we will use kubectl to install it in our cluster. To do this, run the following commands:

kubectl create namespace argo-rollouts
kubectl apply -n argo-rollouts -f https://github.com/argoproj/argo-rollouts/releases/latest/download/install.yaml
kubectl apply -k https://github.com/argoproj/argo-rollouts/manifests/crds\?ref\=stable

This will create a new namespace named argo-rollouts and install the Argo Rollouts controller and CRDs in this namespace. After a few moments, you can verify that the installation was successful by running:

kubectl get pods -n argo-rollouts
kubectl get apiservices | grep rollouts

You should see that the Argo Rollouts controller pod is running and that the CRDs are available in the cluster.

It would be possible to use the Argo Rollouts CLI to manage rollouts. As the focus of this lab is more on the concepts, we will use the CRDs directly. If you want to use the CLI, you can find the installation instructions at https://argo-rollouts.readthedocs.io/en/stable/installation/#kubectl-plugin-installation.

With this, we have successfully installed Argo Rollouts in our cluster. In the next step, we will add the necessary Istio configuration to our demo application to enable canary deployments.