install and configure the kubectl argo rollouts plugin

How to Install & Configure the kubectl argo rollouts Plugin

Introduction

Managing progressive deployments becomes much easier when you use the kubectl argo rollouts plugin alongside Argo Rollouts. This plugin extends the functionality of kubectl, allowing you to visualize rollouts, promote deployments, abort releases, and monitor progress directly from your terminal.

In this guide, you’ll learn how to install and configure the kubectl argo rollouts plugin step by step. Whether you’re setting up your environment for the first time or optimizing your deployment workflow, this tutorial will help you quickly get started and manage rollouts more efficiently in your Kubernetes cluster.

Why the kubectl Plugin Is Essential

Once the Argo Rollouts controller is running in your cluster, the next question is how to interact with it in a way that feels natural during day‑to‑day operations. While you can always work with Rollout resources using stock kubectl commands, the experience quickly becomes cumbersome when you are trying to visualize traffic, watch step progression, or trigger promotions.

The kubectl argo rollouts plugin solves that problem. It extends your existing kubectl CLI with subcommands tailored for Rollouts. With it, you can:

  • See live, terminal‑based visualizations of canary and blue‑green rollouts.
  • Promote, abort, or retry rollouts using simple commands.
  • Inspect AnalysisRuns, experiments, and other Argo Rollouts resources without writing long kubectl get invocations.

This guide walks through installing the plugin on your workstation, wiring it up to your cluster, and using it safely in real workflows.

prerequisites for installing the kubectl argo rollouts plugin

Prerequisites for Installing the kubectl Argo Rollouts Plugin

Before you add the plugin, confirm a few basics about your environment. The plugin relies on your existing kubectl configuration, so any connectivity or authentication issues there will also surface in kubectl argo rollouts.

Verify kubectl and context

Start by checking that kubectl is installed and pointing at the right cluster:

kubectl version --short

kubectl config current-context

kubectl get ns

If these commands fail, resolve that first. The plugin does not manage kubeconfig for you; it simply uses whatever context kubectl is already using.

Confirm Argo Rollouts is installed

The plugin is most useful when the Argo Rollouts controller and CRDs are already present. You can confirm this with a quick CRD check:

kubectl get crd | grep rollouts.argoproj.io || echo "Argo Rollouts CRDs not found"

If you see no CRDs, follow your chosen installation method for the controller, then return to the plugin.

How to Install the kubectl Argo Rollouts Plugin

The plugin can be installed in several ways, but the most common approaches are to download a prebuilt binary or use a package manager. Which one you choose depends on your operating system and how you manage development tools.

Option 1: Download the binary directly

For Linux and macOS, you can usually download a prebuilt binary from the Argo Rollouts GitHub releases page. A typical installation might look like this on Linux:

curl -LO https://github.com/argoproj/argo-rollouts/releases/latest/download/kubectl-argo-rollouts-linux-amd64

chmod +x ./kubectl-argo-rollouts-linux-amd64

sudo mv ./kubectl-argo-rollouts-linux-amd64 /usr/local/bin/kubectl-argo-rollouts

After moving the binary into a directory on your PATH, kubectl will automatically detect it as a plugin because of the kubectl- prefix.

Option 2: Use a package manager

On macOS, Homebrew is a popular choice. The commands are typically as simple as:

brew install argoproj/tap/kubectl-argo-rollouts

Package managers handle updates and uninstalls more gracefully, so this option is attractive if you maintain multiple workstations or want to keep your tooling easily reproducible.

Verifying the Plugin Installation

Once the binary is in place, confirm that kubectl recognizes it. The simplest check is to ask kubectl for its plugin list:

kubectl plugin list

You should see kubectl-argo-rollouts in the output. You can also run the plugin directly to check its version:

kubectl argo rollouts version

If you receive a “command not found” error, revisit your PATH configuration and ensure the binary name and location match what kubectl expects.

Basic Configuration and Context Management

The plugin does not maintain its own configuration files. Instead, it uses your current kubeconfig context exactly as standard kubectl commands do. That means:

  • The cluster you are targeting is controlled by kubectl config use-context.
  • Your authentication mechanism (for example, cloud provider plugins or static tokens) is the same as for kubectl get and kubectl apply.

Working with namespaces

Most plugin commands default to the namespace configured in your context. If your Rollout objects live in a specific application namespace, you can either switch the namespace in your context or pass -n <namespace> explicitly:

kubectl argo rollouts list -n my-app-namespace

Using explicit namespaces is often safer in multi‑tenant clusters where different teams share the same control plane.

Common kubectl Argo Rollouts Commands You Should Know

Once the plugin is installed, a few commands quickly become part of your daily toolkit.

Listing rollouts

To see which Rollout objects exist in a namespace, run:

kubectl argo rollouts list -n my-app-namespace

This gives you a concise view of each rollout’s name, current status, and strategy.

Watching a rollout in real time

One of the most valuable features is the ability to watch a rollout progress from the terminal. After applying a new version of your application, run:

kubectl argo rollouts get rollout my-app -n my-app-namespace --watch

The command will display the current step, traffic weights, and any pauses or AnalysisRuns that are in effect, updating as events occur.

Promoting or aborting a rollout

When a rollout is paused for manual judgment, you can promote it with:

kubectl argo rollouts promote my-app -n my-app-namespace

If you discover a problem and want to stop the rollout, you can abort it instead:

kubectl argo rollouts abort my-app -n my-app-namespace

These commands give operators a clear, low‑friction way to interact with progressive deliveries.

Safety Tips and Best Practices for Using the Plugin

Because the plugin makes it so easy to influence live rollouts, it is worth adopting a few guardrails.

First, be explicit about namespaces. Always include -n when working in clusters where multiple teams or environments coexist. Second, consider limiting who can run promotion and abort commands by controlling RBAC. You can allow developers to observe rollouts freely while restricting mutation commands to on‑call engineers or SREs.

Finally, treat the plugin as an operational tool, not a replacement for GitOps. Use it to debug, visualize, and occasionally intervene, but keep your desired state for Rollout manifests in source control so that long‑term drift does not creep in.

Using the Plugin in Real-World Deployment Workflows

With the kubectl argo rollouts plugin installed and configured, you have a powerful, ergonomic way to understand and guide progressive deliveries from the command line. It builds on the skills and muscle memory you already have with kubectl, while exposing Rollout‑specific features in a more intuitive form.

As you adopt it, encourage your team to standardize on a few core commands for listing, watching, and promoting rollouts. Pair those with clear RBAC policies and documentation, and the plugin will quickly become a trusted part of your deployment toolkit.

Conclusion

kubectl argo rollouts plugin has transitioned from an optional add-on to a mandatory tool for any engineer operating in a high-velocity environment. While the Argo Rollouts controller does the heavy lifting in the cluster, the plugin provides the “human interface” needed to manage complex delivery cycles without getting lost in raw YAML.

Why the Plugin Wins in 2026

  • Cognitive Load Reduction: In the middle of a production incident, you don’t want to be parsing JSON paths to find out why a canary is stuck. The –watch command provides a visual “heartbeat” of your release that anyone on the team can understand instantly.
  • Operational Precision: The plugin turns complex multi-step operations (like promoting a specific step or aborting a failed experiment) into single, atomic commands. This significantly reduces the risk of “fat-finger” errors when manually editing live resources.
  • The GitOps Partner: Even in a fully automated GitOps world, humans still need to intervene during “Manual Gates.” The plugin serves as the secure, authenticated bridge that allows an SRE to say “Looks good, proceed” after verifying a dashboard.

In short, the plugin is your Mission Control. It doesn’t replace your automation; it gives you the visibility and levers to ensure that automation is doing exactly what you expect.

FAQ: kubectl argo rollouts Plugin

1. Do I need to install the plugin on every machine?

Only on workstations where humans need to manually interact with rollouts. Your CI/CD pipelines (like GitHub Actions or Jenkins) do not strictly need the plugin, as they can interact with the Argo Rollouts API using standard kubectl patch or kubectl apply commands. However, having it in your toolbox makes debugging much faster.

2. Can I use the plugin if I don’t have Cluster-Admin rights?

Yes. The plugin respects your existing Kubernetes RBAC. If your user only has get and list permissions in the production namespace, you can watch rollouts, but the promote or abort commands will fail. This allows teams to safely give developers “Read-Only” visibility into production releases.

3. Does the plugin work with Windows?

Yes. While many Linux/macOS users use curl or brew, Windows users can download the exe directly from the GitHub releases page. Once you rename it to kubectl-argo-rollouts.exe and add it to your PATH, it integrates seamlessly with PowerShell or CMD.

4. How do I update the plugin?

The plugin does not auto-update. In 2026, it is recommended to check for updates quarterly. If you used Homebrew, a simple brew upgrade will handle it. If you installed manually, you will need to replace the binary in/usr/local/bin with the latest version.
Note: Always try to keep your plugin version within one minor release of your Argo Rollouts controller version to avoid “Unknown Field” errors.

5. Can the plugin help me if my rollout is “Degraded”?

Absolutely. One of the best commands for troubleshooting is:
$$kubectl\ argo\ rollouts\ get\ rollout\ <name>\ --watch$$
It will explicitly show you whether an AnalysisRun has failed and why, highlighting which step triggered the failure and providing a link to the logs.

Latest Post:

Leave a Comment

Your email address will not be published. Required fields are marked *