Little helper to run CNCF's k3s in Docker
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
iwilltry42 ecea154735
docs: add website link
4 years ago
.github/ISSUE_TEMPLATE add docker version 5 years ago
cmd docs: add website link 4 years ago
docs docs: add installation section to homepage 4 years ago
pkg getKubeconfig: always return output filepath 4 years ago
proxy Proxy: deploy a configurable nginx proxy in front of the cluster 5 years ago
tests tests/e2e: add failure case for importing images 4 years ago
vendor Merge branch 'master-v3' of ssh://github.com/rancher/k3d into feature/kubeconfig-modification 4 years ago
version fix tests and add Dockerfile 5 years ago
.gitignore docs: use awesome-pages structure and add content 4 years ago
.travis.yml ci/cd: use python 3.8 for mkdocs deploy 4 years ago
Dockerfile E2E-Tests: init test for multi-master setups 5 years ago
LICENSE cleanup and prepare for push to rancher/k3d 5 years ago
Makefile Makefile: update golangci-lint version 4 years ago
README.md docs: add website link 4 years ago
go.mod Merge branch 'master-v3' of ssh://github.com/rancher/k3d into feature/kubeconfig-modification 4 years ago
go.sum Merge branch 'master-v3' of ssh://github.com/rancher/k3d into feature/kubeconfig-modification 4 years ago
install.sh rename and add authors 6 years ago
main.go cleanup and prepare for push to rancher/k3d 5 years ago
mkdocs.yml docs: add section about handling kubeconfigs 4 years ago
thoughts.md docs: add installation section to homepage 4 years ago

README.md

k3d

Build Status Go Report Card

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

Get

You have several options there:

  • via brew (homebrew/linuxbrew): brew install k3d
  • 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
  • Grab a release from the release tab and install it yourself.
  • Via go: go install github.com/rancher/k3d (Note: this will give you unreleased/bleeding-edge changes)

or...

Build

  1. Clone this repo, e.g. via go get -u github.com/rancher/k3d
  2. Inside the repo run
    • 'make install-tools' to make sure required go packages are installed
  3. Inside the repo run one of the following commands
    • make build to build for your current system
    • go install to install it to your GOPATH (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

  1. k3d create cluster CLUSTER_NAME to create a new single-node cluster (= 1 container running k3s)
  2. k3d get kubeconfig CLUSTER_NAME --switch to update your default kubeconfig and switch the current-context to the new one
  3. execute some commands like kubectl get pods --all-namespaces
  4. k3d delete cluster CLUSTER_NAME to delete the default cluster

Connect

  1. Join the Rancher community on slack via slack.rancher.io
  2. Go to rancher-users.slack.com and join our channel #k3d
  3. 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.