Set up Kubernetes on RISC-V
By Ali Tariq | Jan 18, 2026

The Cloud-Native Challenge for RISC-V

The cloud-native ecosystem has embraced containerization and orchestration as fundamental building blocks. Kubernetes has become the de facto standard for container orchestration, powering everything from small startups to massive enterprise deployments. However, there's a growing problem: architecture lock-in.
Most cloud-native tooling, including Kubernetes, officially supports only x86_64 and Arm64. 

As RISC-V gains traction in edge computing, IoT, and specialized workloads, the lack of official support creates a significant barrier. Organizations exploring RISC-V for its open-source nature, customizability, and cost benefits find themselves unable to leverage the same cloud-native tools they use elsewhere.
The problem isn't just Kubernetes itself... it's the entire ecosystem:

  • Container runtime components (pause containers, containerd configurations)
  • Core infrastructure (etcd, CoreDNS)
  • Network plugins (CNI providers)
  • Pre-built images and tooling

Do you want to set up Kubernetes on RISC-V? If yes, then you're in the right place!

The Solution: kubernetes-riscv

I've built a complete solution that brings Kubernetes to RISC-V with full automation and multi-architecture support. Everything you need is available at github.com/alitariq4589/kubernetes-riscv.

This project provides:

  • Pre-built multi-architecture images for all Kubernetes components
  • Automated build pipelines that stay current with upstream releases
  • One-command installation scripts with a user-friendly UI
  • Support for mixed x86/RISC-V clusters
  • Complete documentation and troubleshooting guides

All as part of the RISC-V software ecosystem by Cloud-V.

Build environment and status

The best thing about this setup is the way it stays up to date with the latest version of Kubernetes from the official upstream repository.

The repository kubernetes-riscv builds Kubernetes, its core components/dependencies, CNI plugin (which is flannel here) periodically every month on Milk-V Pioneer Box.

This means the core components used in the images and binaries stay the same as the upstream repository, and there is little to no change in the way they are hosted/released. 

The change (if any) is just a wrapper of the Dockerfiles on the officially built binaries

What's Included

Core Kubernetes Components (v1.35.0)

  1. kube-apiserver
  2. kube-controller-manager
  3. kube-scheduler
  4. kube-proxy
  5. kubelet, kubectl, kubeadm
  6. The pause container ( the special container :) )

Infrastructure Components

  1. etcd (v3.6.6) - Distributed key-value store
  2. CoreDNS (v1.14.0) - DNS server for service discovery
  3. Pause container (v3.10) - Pod infrastructure container

Networking

  1. Flannel CNI (v0.28.0) - Container network interface
  2. CNI plugins (v1.5.1) - Standard networking plugins

All images support both linux/amd64 and linux/riscv64 and are available on Docker Hub under the cloudv10x organization. The source code of every image is available as CI files in .github/workflow in the same GitHub repository.

Quick Start: Install Kubernetes on RISC-V

The scripts in the repository's `scripts` dir work out of the box for three configurations.

  1. Running control plane on x86 and worker nodes on RISC-V
  2. Running control plane on RISC-V and worker nodes on RISC-V
  3. Running the control plane on RISC-V and running the worker nodes on the same machine as the control plane

Note: Before starting the script, it is important to note that you will have to provide sudo access for the scripts to set up the necessary files on the machine


Control Plane Setup

For RISC-V control plane:

wget https://raw.githubusercontent.com/alitariq4589/kubernetes-riscv/main/scripts/control-plane-setup-riscv64.sh
chmod +x control-plane-setup-riscv64.sh
./control-plane-setup-riscv64.sh



This will ask if you need to run the pods on the same node as control plane.

Once the installation finishes, you will see something like the following output if everything went without error.

You can also see the status of all the system pods running the following command 

kubectl get pods -A


For x86 control plane (control plane on x86 and worker nodes on RISC-V): 


wget https://raw.githubusercontent.com/alitariq4589/kubernetes-riscv/main/scripts/control-plane-setup-x86.sh
chmod +x control-plane-setup-x86.sh./control-plane-setup-x86.sh


Adding Worker Nodes

Get the join command from your control plane:

sudo kubeadm token create --print-join-command

# This outputs something like:

kubeadm join 192.168.18.15:6443 --token l97r2v.c6vq9tudzirbku7y \ --discovery-token-ca-cert-hash sha256:cb3c1028b059b937bab187df8f6ac789b04033eb2bcd00ee52521029bdae592e 


On each worker node (RISC-V or x86):

wget https://raw.githubusercontent.com/alitariq4589/kubernetes-riscv/main/scripts/worker-node-setup.sh
chmod +x worker-node-setup.sh
./worker-node-setup.sh kubeadm join 192.168.18.15:6443 --token l97r2v... --discovery-token-ca-cert-hash sha256:cb3c...

The script automatically detects architecture and installs the correct binaries.

Verification

Check your cluster:

kubectl get nodes

NAME STATUS ROLES AGE VERSION
pioneer-1 Ready control-plane 5m v1.35.0
sf2-1 Ready <none> 2m v1.35.0
sf2-2 Ready <none> 2m v1.35.0

Use Cases

This setup is ideal for:

  • Edge computing - Deploy Kubernetes at the edge on RISC-V hardware
  • Development clusters - Test applications on RISC-V before production
  • Heterogeneous clusters - Mix x86 control plane with RISC-V workers
  • IoT orchestration - Container orchestration for RISC-V IoT devices
  • Research - Evaluate RISC-V for containerized workloads

ISA Support Matrix

Componentx86_64riscv64
Control Plane


Worker Nodes


Pause Container


etcd


CoreDNS


Flannel


CNI Plugins


Resources and Links

GitHub Repository: kubernetes-riscv
Docker Images: hub.docker.com/u/cloudv10x
Cloud-V Platform:https://cloud-v.co
Community Discord: Join Discord

Get Involved

This (and all other projects of Cloud-V) is an open-source project, and contributions are welcome:

  • Test on different RISC-V hardware
  • Report bugs via GitHub Issues
  • Submit pull requests for improvements
  • Share your use cases

Do you have a package you'd like to port to RISC-V? Reach out at our discord server or contact us at cloud-v.co/contactus.

This project is part of Cloud-V's initiative to expand the RISC-V software ecosystem. Cloud-V is a community platform providing free access to RISC-V resources for developers around the world for expanding RISC-V ecosystem. 

For questions and support, join our Discord community.


Set up Kubernetes on RISC-V
Cloud-V 18 January, 2026
Share this post
Tags
Archive

Benchmarking Milk-V Megrez
By Akif Ejaz | Nov 14, 2025