How to Install Radius

Install Radius on Kubernetes, including Amazon EKS and Azure AKS, and configure AWS and Azure deployments.

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.

System requirements

To install and run the Radius control plane you need:

  • A Kubernetes cluster running a currently supported version. Radius tracks the upstream Kubernetes version support policy, which maintains the three most recent minor releases.
  • kubectl installed and configured with a context pointing to your target cluster.
  • Cluster-administrator (cluster-admin) access to the cluster. Radius installs CRDs, namespaces, RBAC resources, and an aggregated API server, all of which require cluster-wide privileges.
  • Outbound network access from the cluster to pull the Radius container images and Helm chart from ghcr.io.
  • For local clusters (kind or k3d): a container runtime such as Docker Desktop with at least 8 GB of memory allocated.

Supported Kubernetes clusters

Radius is tested and validated against the following Kubernetes distributions:

Prepare a k3d cluster

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.

Organization

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 CLI


How to install the Radius CLI

Learn how to install the Radius CLI and customize the installation directory

How to install the Radius control plane

Learn how to install, customize, upgrade, and uninstall the Radius control plane on Kubernetes

How to configure access to the Radius dashboard

Accessing the Radius dashboard

How to set up developer workstations

Learn how to set up a developer workstation for creating and deploying applications

How to upgrade Radius

Learn how to upgrade Radius on Kubernetes, including how to roll back to a previous version

How to uninstall Radius

Learn how to uninstall the Radius control plane from your Kubernetes cluster