Coder logo

Rancher Kubernetes Engine

This deployment guide shows you how to set up a bare-metal Rancher Kubernetes Engine (RKE) cluster on which Coder can deploy.

Prerequisites

See here for the full list of Rancher requirements. You must have at least one Linux host (node) with the following utilities installed:

Binaries

Storage

Since Coder requires dynamic storage provisioning, you'll need to install a Rancher-supported storage provisioner. We recommend using Longhorn, since it is tightly integrated with Rancher.

Networking

To configure pod networking, you'll need to install a Container Network Interface (CNI) into the Rancher cluster. Here are Rancher's recommended CNI providers

Setup

  1. Once you've installed the necessary dependencies, create a cluster.yml file to define the Rancher cluster configuration. Below is an example for a single-node cluster:
nodes:
  - address: 10.206.0.2
    user: ubuntu
    role:
      - controlplane
      - etcd
      - worker
    ssh_key_path: /home/ubuntu/.ssh/id_rsa
    ssh_agent_auth: true

Ensure the user is a member of the docker group.

For a multi-node, high availability cluster, see the Rancher documentation for additional configuration values.

  1. Deploy the cluster with the following command:
rke up --config cluster.yml
  1. After the cluster is brought up, create your kubeconfig file and copy over the Rancher-generated configuration:
mkdir -p $HOME/.kube/ && cp kube_config_cluster.yml $HOME/.kube/config

Once complete, you can now install Coder on to your Rancher cluster.