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
You need docker installed.
curl -sSL https://raw.githubusercontent.com/zeerorg/k3s-in-docker/master/install-script.sh | sudo bash - k3d create
If you have rust toolchain installed, you can install it using:
cargo install k3d && k3d create
- Supports arm64 and armhf
- Fast boot time
- Supports starting and stopping without losing previous state
- Lightweight compared to KinD
export KUBECONFIG=$(k3d get-kubeconfig)
kubectl get pods --all-namespaces
- If you want to delete the cluster do:
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 <firstname.lastname@example.org> Run k3s in Docker USAGE: k3d [SUBCOMMAND] FLAGS: -h, --help Prints help information -V, --version Prints version information SUBCOMMANDS: 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
- One of the features I wanted to add is an insecure registry support. This can be done after k3s PR #248 is approved.
- Upgrade this to version 0.2.x of k3s