Skip to main content
Version: 0.8.0

Creating a K3d Kubernetes Cluster

This how-to was written using the following versions:

Get K3d Kubernetes Clusterโ€‹

Install K3dโ€‹

Follow the instructions to install k3d on your system.

Create a K3d kubernetes clusterโ€‹

$ k3d cluster create epinio

Create a K3d kubernetes cluster when it is inside a VMโ€‹

Epinio has to connect to pods inside the cluster. The default installation uses the internal docker IP for this. If docker is running in a VM, e.g. with Docker Desktop for Mac, that IP will not be reachable.

As a workaround the IP of the host can be used instead, together with port-forwardings:

k3d cluster create epinio -p '80:80@loadbalancer' -p '443:443@loadbalancer'

After the command returns, kubectl should already be talking to your new cluster:

$ kubectl get nodes
NAME STATUS ROLES AGE VERSION
k3d-epinio-server-0 Ready control-plane,master 38s v1.22.6+k3s1

Install Epinio on the Clusterโ€‹

Follow "magic" DNS setup to define the domain name you will use for Epinio.

Then, continue with the Epinio installation process.

Troubleshootingโ€‹

Kubeconfigโ€‹

To get the kube config to access the cluster:

k3d kubeconfig get epinio

Traefikโ€‹

In case of trouble with Epinio's Traefik component or Ingress controllers, the Traefik section in the Advanced Topics document shall be your friend.