arkade - Your one-stop CLI for Kubernetes
arkade provides a simple Golang CLI with strongly-typed flags to install charts and apps to your cluster in one command.
You can also download CLIs like
helm faster than you can type "apt-get/brew update".
Gone are the days of contending with dozens of README files just to get the right version of helm and to install a chart with sane defaults.
# Note: you can also run without `sudo` and move the binary yourself curl -sLS https://dl.get-arkade.dev | sudo sh arkade --help ark --help # a handy alias # Windows users with Git Bash curl -sLS https://dl.get-arkade.dev | sh
Windows users: arkade requires bash to be available, therefore Windows users can install Git Bash.
An alias of
ark is created at installation time, so you can also run
ark install APP
Here's a few examples of apps you can install, for a complete list run:
arkade install --help.
arkade install- install an app
arkade info- the post-install screen for an app
arkade get- install a CLI tool such as
arkade update- print instructions to update arkade itself
Install a CLI tool
arkade downloads the correct version of a CLI for your OS and CPU.
With automatic detection of: Windows / MacOS / Linux / Intel / ARM.
arkade get faas-cli helm kubectl kubectx kind k3d k3sup kubeseal inletsctl osm linkerd2 kubebuilder kustomize doctl k9s civo terraform buildx helmfile
This is a time saver compared to searching for download pages every time you need a tool.
arkade get TOOL as a doing for CLIs, what
arkade install does for helm.
Create a Kubernetes cluster
If you have Docker installed, then you can install Kubernetes using KinD in a matter of moments:
arkade get kubectl arkade get kind kind create cluster
You can also download k3d k3s in the same way with
arkade get k3d.
Install an app
No need to worry about whether you're installing to Intel or ARM architecture, the correct values will be set for you automatically.
arkade install openfaas --gateways 2 --load-balancer false
Remember how awkward it was last time you installed the Kubernetes dashboard? And how you could never remember the command to get the token to log in?
arkade install kubernetes-dashboard
Forgot your token?
arkade info kubernetes-dashboard
Prefer Portainer? Just run:
arkade install portainer
Uninstall an app
arkade uninstall or
arkade delete for more information on how to remove applications from a Kubernetes cluster.
Reduce the repetition
Normally up to a dozen commands (including finding and downloading helm), now just one. No searching for the correct CRD to apply, no trying to install helm, no trying to find the correct helm repo to add:
arkade install cert-manager
Other common tools:
arkade install ingress-nginx arkade install metrics-server
Bye-bye values.yaml, hello flags
We use strongly typed Go CLI flags, so that you can run
--help instead of trawling through countless Helm chart README files to find the correct
--set combination for what you want.
arkade install ingress-nginx --help Install ingress-nginx. This app can be installed with Host networking for cases where an external LB is not available. please see the --host-mode flag and the ingress-nginx docs for more info Usage: arkade install ingress-nginx [flags] Aliases: ingress-nginx, nginx-ingress Examples: arkade install ingress-nginx --namespace default Flags: -h, --help help for ingress-nginx --host-mode If we should install ingress-nginx in host mode. -n, --namespace string The namespace used for installation (default "default") --update-repo Update the helm repo (default true)
You can also set helm overrides, for apps which use helm via
ark install openfaas --set=faasIdler.dryRun=false
After installation, an info message will be printed with help for usage, you can get back to this at any time via:
arkade info <NAME>
Get a self-hosted TLS registry with authentication
Here's how you can get a self-hosted Docker registry with TLS and authentication in just 5 commands on an empty cluster:
arkade install ingress-nginx arkade install cert-manager arkade install docker-registry arkade install docker-registry-ingress \ --email firstname.lastname@example.org \ --domain reg.example.com
Get OpenFaaS with TLS
The same for OpenFaaS would look like this:
arkade install ingress-nginx arkade install cert-manager arkade install openfaas arkade install openfaas-ingress \ --email email@example.com \ --domain reg.example.com
Get a public IP for a private cluster and your IngressController
arkade install inlets-operator \ --access-token $HOME/digitalocean-token \ --region lon1 \ --license $(cat $HOME/license.txt)
Tutorials & community blog posts
Video review from Rancher Labs
Watch a video walk-through by Alex Ellis
- arkade by example — Kubernetes apps, the easy way
😎- Alex Ellis
- Walk-through — install Kubernetes to your Raspberry Pi in 15 minutes
- Get a TLS-enabled Docker registry in 5 minutes - Alex Ellis
- Get TLS for OpenFaaS the easy way with arkade - Alex Ellis
- A bit of Istio before tea-time - Alex Ellis
- Kubernetes: Automatic Let's Encrypt Certificates for Services with arkade
- Introducing Arkade - The Kubernetes app installer - Alistair Hey
- Portainer for kubernetes in less than 60 seconds!! - by Saiyam Pathak
- Video walk-through with DJ Adams - Pi & Kubernetes with k3s, k3sup, arkade and OpenFaaS
- Coffee chat: Easy way to install Kubernetes Apps - arkade (ark) by Sachin Jha
- Arkade & OpenFaaS: serverless on the spot by Blaise Pabon
Explore the apps
You can view the various apps available with
arkade install / --help, more are available when you run the command yourself.
arkade install --help ark --help Examples: arkade install arkade install openfaas --helm3 --gateways=2 arkade install inlets-operator --token-file $HOME/do-token Available Commands: argocd Install argocd cert-manager Install cert-manager chart Install the specified helm chart consul-connect Install Consul Service Mesh cron-connector Install cron-connector for OpenFaaS crossplane Install Crossplane docker-registry Install a Docker registry docker-registry-ingress Install registry ingress with TLS gitea Install gitea grafana Install grafana info Find info about a Kubernetes app ingress-nginx Install ingress-nginx inlets-operator Install inlets-operator istio Install istio jenkins Install jenkins kafka-connector Install kafka-connector for OpenFaaS kube-image-prefetch Install kube-image-prefetch kube-state-metrics Install kube-state-metrics kubernetes-dashboard Install kubernetes-dashboard linkerd Install linkerd loki Install Loki for monitoring and tracing metrics-server Install metrics-server minio Install minio mongodb Install mongodb nats-connector Install OpenFaaS connector for NATS nfs-client-provisioner Install nfs client provisioner openfaas Install openfaas openfaas-ingress Install openfaas ingress with TLS openfaas-loki Install Loki-OpenFaaS and Configure Loki logs provider for OpenFaaS osm Install osm portainer Install portainer to visualise and manage containers postgresql Install postgresql redis Install redis registry-creds Install registry-creds tekton Install Tekton pipelines and dashboard traefik2 Install traefik2
Community & contributing
Suggesting a new app
To suggest a new app, please check past issues and raise an issue for it. Think also whether your app suggestion would be a good candidate for a Sponsored App.
You can now propose your project or product as a Sponsored App. Sponsored Apps work just like any other app that we've curated, however they will have a note next to them in the app description
(sponsored) and a link to your chosen site upon installation. An app sponsorship can be purchased for a minimum of 12 months and includes free development of the Sponsored App, with ongoing support via GitHub for the Sponsored App for the duration only. Ongoing support will be limited to a set amount of hours per month.
When your sponsorship expires the Sponsored App will be removed from arkade, and the ongoing support will cease. A Sponsored App can be renewed 60 days prior to expiration subject to a separate agreement and payment.
arkade VENDOR install PRODUCT arkade acmeco install dashboard
Email firstname.lastname@example.org to find out more.
arkade compare to
In the same way that brew uses git and Makefiles to compile applications for your Mac,
arkade uses upstream helm charts and
kubectl to install applications to your Kubernetes cluster. arkade exposes strongly-typed flags for the various popular options for helm charts, and enables easier discovery through
arkade install --help and
arkade install APP --help.
Is arkade suitable for production use?
If you consider helm suitable, and
kubectl then yes, arkade by definition uses those tools and the upstream artifacts of OSS projects.
Do you want to run arkade in a CI or CD pipeline? Go ahead.
What is in scope for
Generally speaking, tools that are used with the various arkade apps or with Kubernetes are in scope. If you want to propose a tool, raise a GitHub issue.
What about package management?
arkade get provides a faster alternative to package managers like
brew, you're free to use either or both at the same time.
Automatic download of tools
When required, tools, CLIs, and the helm binaries are downloaded and extracted to
If installing a tool which uses helm3, arkade will check for a cached version and use that, otherwise it will download it on demand.
Did you accidentally run arkade as root? Running as root is not required, and will mean your KUBECONFIG environment variable will be ignored. You can revert this using the notes on release 0.1.18.
Improving the code or fixing an issue
Both Issues and PRs have their own templates. Please fill out the whole template.
All commits must be signed-off as part of the Developer Certificate of Origin (DCO)
Join us on Slack
#contributors at https://slack.openfaas.io