# k3d - k3s in docker A lightweight alternative to KinD for local development. ## Install and run 1. You need docker installed. 2. Just run: `curl -s https://api.github.com/repos/zeerorg/k3s-in-docker/releases/latest | grep "browser_download_url.*k3d\"" | cut -d : -f 2,3 | tr -d \" | wget -qi - -O k3d && ./k3d create` 3. If you have rust toolchain installed, you can install it using: `cargo install k3d && k3d create` ## Advantages over [KinD](https://github.com/kubernetes-sigs/kind) 1. Supports arm64 and armhf 2. Fast boot time 3. Supports starting and stopping without losing previous state 4. Lightweight compared to KinD ## Usage 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: `kubectl 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 `, but then keep in mind to do `k3d get-kubeconfig -n ` when getting kubeconfig. ```text k3d 0.1.0 Rishabh Gupta 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 ```