Skip to content
A lightweight kubernetes development setup
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
azure-pipelines.yml Create azure pipeline release (#9) Apr 3, 2019

k3d - k3s in docker

A lightweight alternative to KinD for local development. Read the introductory blog post. There is a more updated tool rancher/k3d which has more functionality than this tool and is written in go, I'd urge you to give it a try over this repo.

Install and run

  1. You need docker installed.

  2. Just run:

    curl -sSL | sudo bash -
    k3d create
  3. If you have rust toolchain installed, you can install it using: cargo install k3d && k3d create

Advantages over KinD

  1. Supports arm64 and armhf
  2. Fast boot time
  3. Supports starting and stopping without losing previous state
  4. Lightweight compared to KinD


Normal flow:

  1. k3d create
  2. export KUBECONFIG=$(k3d get-kubeconfig)
  3. kubectl get pods --all-namespaces
  4. If you want to delete the cluster do: k3d delete

If port 6443 is occupied you can specify a different port in first step: k3d create -p 10001. This will create a docker container named k3s_default with port 10001 exposed.

You can specify a different name for cluster with k3s create -n <name>, but then keep in mind to do k3d get-kubeconfig -n <name> when getting kubeconfig.

k3d 0.1.0
Rishabh Gupta <>
Run k3s in Docker

    k3d [SUBCOMMAND]

    -h, --help       Prints help information
    -V, --version    Prints version information

    check-tools       Check docker running
    create            Create a single node k3s server
    delete            Delete cluster
    get-kubeconfig    get kubeconfig.yaml location
    help              Prints this message or the help of the given subcommand(s)
    list              List all clusters
    start             Start a stopped cluster
    stop              Stop a cluster

Next Steps

  1. One of the features I wanted to add is an insecure registry support. This can be done after k3s PR #248 is approved.
  2. Upgrade this to version 0.2.x of k3s
You can’t perform that action at this time.