---
title: How to run Kubernetes nodes on RISC-V
description: This page explains how to use your Scaleway EM-RV1 Elastic Metal server as a Kosmos Kubernetes node
tags: kosmos riscv elastic-metal
dates:
  validation: 2025-10-06
  posted: 2024-03-22
---
import Requirements from '@macros/iam/requirements.mdx'


<Requirements />

 - A Scaleway account logged into the [console](https://console.scaleway.com)
 - [Owner](/iam/concepts/#owner) status or [IAM permissions](/iam/concepts/#permission) allowing you to perform actions in the intended Organization
 - [Created a Kosmos cluster](/kubernetes/how-to/create-kosmos-cluster/) on which you have [configured a pool of external nodes](/kubernetes/how-to/edit-kosmos-cluster/#how-to-configure-external-nodes-to-join-the-cluster)
 - [Created an Elastic Metal RV1 server](/elastic-metal/how-to/create-server/)
 - [Created an API key](/iam/how-to/create-api-keys/) with the `KubernetesExternalNodeRegister` permission set.
 - An [SSH key](/organizations-and-projects/how-to/create-ssh-key/)

RISC-V is not yet officially supported in Kubernetes, but to let you test this technology with Kube containers, we have prepared an image with the necessary pre-built binaries.

With Scaleway Kosmos and our Elastic Metal RV1, you can follow this guide to launch RISC-V containers on Kubernetes effortlessly, and in just a few minutes.

1. [Install the Elastic Metal server](/elastic-metal/how-to/install-server/) with the `Kosmos` image.
2. Go to the **Nodes** tab of your Kosmos cluster and click **Add external node**.
3. Take note of the `POOL_ID` and `POOL_REGION` as you will need them in the following steps. Ignore the instructions on the page to connect your server to the pool.

4. [Connect to your Elastic Metal RV1 server via SSH](/elastic-metal/how-to/connect-to-server/).
5. Export noted env variables and secret key.

    ```
    export POOL_ID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
    export POOL_REGION=xx-xxx
    export SCW_SECRET_KEY=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
    ```

6. Run the node agent.

    ```
    sudo -E ./node-agent_linux_riscv64 -loglevel 0 -no-controller && sleep 10

7. **Restart** your server.