How to install the Radius CLI
Learn how to install the Radius CLI and customize the installation directory
Radius runs as a control plane on a Kubernetes cluster, including Amazon EKS and Azure Kubernetes Service (AKS). The cluster that hosts Radius and the cloud resources it deploys are separate choices. To deploy AWS or Azure resources, register cloud credentials and configure the target Environment and its Recipe Packs.
This guide covers:
After installation, follow Configure AWS and Azure deployments to configure cloud credentials, an Environment, and Recipe Packs.
To install and run the Radius control plane you need:
kubectl installed and configured with a context pointing to your target cluster.cluster-admin) access to the cluster. Radius installs CRDs, namespaces, RBAC resources, and an aggregated API server, all of which require cluster-wide privileges.ghcr.io.Radius is tested and validated against the following Kubernetes distributions:
Use a recent k3d release with a Kubernetes version that meets the system requirements. Disable the bundled Traefik ingress controller because rad install kubernetes and rad initialize install Contour by default. Running both controllers can cause port conflicts and Gateway API CRD ownership errors.
Create a new cluster with Traefik disabled and an HTTP port mapping:
k3d cluster create radius \
-p "127.0.0.1:18081:80@loadbalancer" \
--k3s-arg "--disable=traefik@server:*"
The port mapping forwards traffic from localhost:18081 to port 80 on the cluster nodes. Replace 18081 with another available local port if needed. Binding to 127.0.0.1 limits access to your workstation.
Leave the bundled k3s service load balancer (servicelb) enabled: it exposes Contour’s Envoy proxy on the nodes so the port mapping can reach it. Do not add --disable=servicelb. Older Radius instructions disabled it because the previous Contour chart exposed Envoy directly through host ports; the current chart uses a Kubernetes LoadBalancer Service instead.
If an existing cluster runs Traefik, create a separate cluster with the options above before installing Radius. Creating a new cluster does not migrate workloads from the existing cluster. To use your own gateway controller instead of Contour, see Use a different gateway controller.
After creating the cluster, install the Radius CLI, then install the Radius control plane. Once you have deployed an HTTP route, access it through the mapped port using the hostname configured on that route:
curl -H "Host: frontend.example.com" http://localhost:18081/
Replace frontend.example.com with your route’s hostname. The port mapping alone does not create an application route, and a request without a matching hostname returns HTTP 404.
This guide is organized into a separate page for each component you install and configure: the Radius CLI, the control plane, a developer workstation, and the Dashboard. Start with the Radius CLI, then continue through the remaining pages in order.
Next step: How to install the Radius CLILearn how to install the Radius CLI and customize the installation directory
Learn how to install, customize, upgrade, and uninstall the Radius control plane on Kubernetes
Accessing the Radius dashboard
Learn how to set up a developer workstation for creating and deploying applications
Learn how to upgrade Radius on Kubernetes, including how to roll back to a previous version
Learn how to uninstall the Radius control plane from your Kubernetes cluster
Was this page helpful?
Glad to hear it! Please feel free to star our repo and join our Discord server to stay up to date with the project.
Sorry to hear that. If you would like to also contribute a suggestion visit and tell us how we can improve.