3.8 KiB
k3d
k3s in docker
k3s is the lightweight Kubernetes distribution by Rancher: rancher/k3s
k3d creates containerized k3s clusters. This means, that you can spin up a multi-node k3s cluster on a single machine using docker.
Requirements
Releases
Note: In May 2020 we upgraded from v1.7.x to v3.0.0 after a complete rewrite of k3d!
Get
You have several options there:
-
use the install script to grab the latest release:
- wget:
wget -q -O - https://raw.githubusercontent.com/rancher/k3d/master/install.sh | bash
- curl:
curl -s https://raw.githubusercontent.com/rancher/k3d/master/install.sh | bash
- wget:
-
use the install script to grab a specific release (via
TAG
environment variable):- wget:
wget -q -O - https://raw.githubusercontent.com/rancher/k3d/master/install.sh | TAG=v3.0.0-beta.0 bash
- curl:
curl -s https://raw.githubusercontent.com/rancher/k3d/master/install.sh | TAG=v3.0.0-beta.0 bash
- wget:
-
use Homebrew:
brew install k3d
(Homebrew is available for MacOS and Linux)- Formula can be found in homebrew/homebrew-core and is mirrored to homebrew/linuxbrew-core
-
install via AUR package rancher-k3d-bin:
yay -S rancher-k3d-bin
-
grab a release from the release tab and install it yourself.
-
install via go:
go install github.com/rancher/k3d
(Note: this will give you unreleased/bleeding-edge changes)
or...
Build
- Clone this repo, e.g. via
go get -u github.com/rancher/k3d
- Inside the repo run
- 'make install-tools' to make sure required go packages are installed
- Inside the repo run one of the following commands
make build
to build for your current systemgo install
to install it to yourGOPATH
(Note: this will give you unreleased/bleeding-edge changes)make build-cross
to build for all systems
Usage
Check out what you can do via k3d help
or check the docs @ k3d.io
Example Workflow: Create a new cluster and use it with kubectl
k3d create cluster CLUSTER_NAME
to create a new single-node cluster (= 1 container running k3s)k3d get kubeconfig CLUSTER_NAME --switch
to update your default kubeconfig and switch the current-context to the new one- execute some commands like
kubectl get pods --all-namespaces
k3d delete cluster CLUSTER_NAME
to delete the default cluster
Connect
- Join the Rancher community on slack via slack.rancher.io
- Go to rancher-users.slack.com and join our channel #k3d
- Start chatting
History
This repository is based on @zeerorg's zeerorg/k3s-in-docker, reimplemented in Go by @iwilltry42 in iwilltry42/k3d, which got adopted by Rancher inrancher/k3d.