Skip to content

Kubernetes

Kubernetes CI on GitHub Actions

Spinning up a kind or k3s cluster takes minutes before tests start.

3m → 40s
Cluster start
18m → 6m
E2E suite

Spinning up a kind or k3s cluster takes minutes before tests start.

Why it happens

Node images are pulled fresh each run and the cluster boots from cold.

What to change

  1. Cache the kind node image so cluster creation skips the pull
  2. Use a runner with KVM so the cluster VM is hardware accelerated
  3. Preload your application images into the cluster rather than pulling from a registry

Kubernetes on runnerhut

yaml
jobs:
e2e:
runs-on: runnerhut-8vcpu-ubuntu-2404
steps:
- uses: actions/checkout@v4
- uses: helm/kind-action@v1
- run: kind load docker-image acme/api:test
- run: go test ./e2e/...
A working starting point

The only runnerhut-specific line is `runs-on: runnerhut-8vcpu-ubuntu-2404`. Everything else is standard GitHub Actions — the same actions, the same secrets and the same permissions model you use today.

Your next build could be twice as fast, at half the price

Start free. Migrating away is the same one line, and we publish that diff too.