Go to file
2019-04-12 07:36:59 +02:00
cli add server-arg and env flags 2019-04-11 14:31:46 +02:00
vendor add vendor 2019-04-04 09:23:24 +02:00
version Added version tags, separated command implementaitons, added wait and timeout 2019-04-09 13:47:47 +05:30
.gitignore exclude binary folders 2019-04-03 09:59:23 +02:00
.travis.yml rename and add authors 2019-04-12 07:36:59 +02:00
go.mod rename and add authors 2019-04-12 07:36:59 +02:00
go.sum enhanced list 2019-04-04 09:19:26 +02:00
install.sh rename and add authors 2019-04-12 07:36:59 +02:00
LICENSE update README 2019-04-03 10:27:09 +02:00
main.go rename and add authors 2019-04-12 07:36:59 +02:00
Makefile rename and add authors 2019-04-12 07:36:59 +02:00
README.md rename and add authors 2019-04-12 07:36:59 +02:00

k3d

Build Status Go Report Card

k3s in docker

k3s is the lightweight Kubernetes distribution by Rancher: rancher/k3s

This repository is basically zeerorg/k3s-in-docker reimplemented in Golang with some different/new functionality... just because I didn't have time to learn Rust.

Thanks to @zeerorg for the original work!

Requirements

Install

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
  • Grab a release from the release tab and install it yourself.
  • Via go: go install github.com/rancher/k3d

or...

Build

  1. Clone this repo, e.g. via go get -u github.com/rancher/k3d/releases
  2. Inside the repo run
    • make to build for your current system
    • go install to install it to your GOPATH
    • make build-cross to build for all systems

Usage

Check out what you can do via k3d help

Example Workflow: Create a new cluster and use it with kubectl

  1. k3d create to create a new single-node cluster (docker container)
  2. export KUBECONFIG=$(k3d get-kubeconfig) to make kubectl to use the kubeconfig for that cluster
  3. execute some commands like kubectl get pods --all-namespaces
  4. k3d delete to delete the default cluster

TODO

  • Use the docker client library instead of commands
  • Test the docker version
  • Improve cluster state management
  • Use sirupsen/logrus for prettier logs
  • Add install script