Skip to content

Releases: k3d-io/k3d

v1.5.0

21 Jan 10:42
4d8876f
Compare
Choose a tag to compare

Features

  • New flag k3d create --label key[=value][@node-specifier] to assign docker labels to node containers (#163, @lionelnicolas)
  • New flags `k3d create --enable-registry [--registry-name NAME] [--registry-port PORT] to automatically create/attach a local insecure registry when creating a cluster (#161 + #169, @inercia)
  • New flag k3d get-kubeconfig --overwrite to force an overwrite of the kubeconfig.yaml (fixes #154)

Development

  • Create first e2e tests (in Docker) and update Makefile + pipeline accordingly (#168, @inercia)

Fixes

  • return error if no image was specified for import-image
  • adapt to new tagging-scheme of k3s (and differences between GitHub releases and DockerHub tags)
  • better default + help text for --wait flag (default is not 0=wait forever)

Docs

  • fix FAQ section related to kubelet-args (#166, @AWKIF)

Thanks to all contributors!

Note: default k3s version in this release is rancher/k3s:v1.17.0-k3s.1

v3.0.0-alpha.0 -> First Preview of k3d v3.0.0

05 Jan 20:22
bc49f19
Compare
Choose a tag to compare

Preview k3d v3.0.0

In the beginning, k3d was a learning project and grew organically without a clear plan in mind.
This and the eagerness to implement all the requested features as fast as possible, resulted in quite a lot of spaghetti code which became a bit more difficult to maintain and extend.

k3d v3 aims to make a few things better:

  • a better project structure with more clearly defined module/package boundaries
  • cleaner/leaner code
  • new CLI syntax to fit better into the Kubernetes ecosystem (syntax similar to e.g. kubectl)
  • usable as a Go module from within other Go projects.

Additionally it offers some new or modified features compared to v1.x, even though not every single feature of v1.x found its way into v3 yet.

This is quite an early release, but I'd like to gather feedback rather earlier than later now.
So please test this release, play around with it, open issues and/or pull-requests and let me know, what you think of it via Slack :)

v1.4.0

02 Jan 13:55
8a65268
Compare
Choose a tag to compare

New Features

Enhancements

  • replace 127.0.0.1 in kubeconfig (#137, thanks @M3t0r)
  • improved log messages
  • wait for kubeconfig to be written when --wait is set

Documentation

v1.4.0-dev.0 - preview `add-node` command

03 Nov 18:58
Compare
Choose a tag to compare

About

This preview release includes lots of deprecations and code cleanups as well as an experimental new feature to add new nodes to existing clusters.

Preview

  • preview the new k3d add-node command which lets you add new nodes to existing k3d or k3s clusters
    • this is still under development, so you cannot use all the options which are available to the create command yet
NAME:
   k3d add-node - Add nodes to an existing k3d/k3s cluster (k3d by default)

USAGE:
   k3d add-node [command options] [arguments...]

OPTIONS:
   --role value, -r value                              Choose role of the node you want to add [agent|server] (default: "agent")
   --name value, -n value                              Name of the k3d cluster that you want to add a node to [only for node name if --k3s is set] (default: "k3s-default")
   --count value, -c value                             Number of nodes that you want to add (default: 1)
   --image value, -i value                             Specify a k3s image (Format: <repo>/<image>:<tag>) (default: "docker.io/rancher/k3s:v0.10.2")
   --arg value, -x value                               Pass arguments to the k3s server/agent command.
   --env value, -e value                               Pass an additional environment variable (new flag per variable)
   --volume source:destination, -v source:destination  Mount one or more volumes into every created node (Docker notation: source:destination)
   --k3s https://<host>:<port>                         Add a k3d node to a non-k3d k3s cluster (specify k3s server URL like this https://<host>:<port>) [requires k3s-secret or k3s-token]
   --k3s-secret value, -s value                        Specify k3s cluster secret (or use --k3s-token to use a node token)
   --k3s-token value, -t value                         Specify k3s node token (or use --k3s-secret to use a cluster secret)[overrides k3s-secret]

Feedback is very welcome :)
Just releasing this now so you can test it already, since it's going a bit slow at the moment due to high workloads among collaborators.

v1.3.4

21 Oct 06:19
Compare
Choose a tag to compare

CLI

  • new global flag --timestamp to show timestamps in logs

Internal

  • get-kubeconfig: only continue on error, if --all is set (thanks to @ibuildthecloud, #128)
  • do not run k3s as PID 1; use init (thanks to @ibuildthecloud, #129)
  • Exit Code 1 if no clusters were found in get-kubeconfig, ls and delete

Docs

  • example for running k3d on unsupported filesystems (thanks to @zer0def, #124)
  • clarify in example section, that k3s uses traefik by default
  • add brew install instructions (thanks to @docwhat, #127)

Development / Build Process

  • only build with go 1.13 in Travis
  • update to golangci-lint v1.20

v1.3.3

10 Oct 09:00
5c00056
Compare
Choose a tag to compare

Changes in k3d

  • add node-specifiers for k3d create --volume flag (#116 fixes #85, thanks to @cedrickring)
  • implement functionality for k3d get-kubeconfig --all flag (#121 fixes #120, thanks to @tw3n)

Changes in development toolchain

  • consistent usage of $(GO) in Makefile (#117, thanks to @tw3n)

v1.3.2

02 Oct 17:12
Compare
Choose a tag to compare

Changes in k3d

  • New flag k3d create --agent-arg <arg> (thanks to @misakwa, #96 )
    • let's you pass additional flags through to the k3s agent
  • Update build to latest Go version
  • typo fix (thanks to @daxmc99 , #109)
  • improved logging with proper log levels (thanks to @nlamirault , #112)

Changes in general toolchain

  • allow passing TAG to the install script to install a specific releases (thanks to @splattael , #105 )

v1.3.1

30 Jul 08:39
Compare
Choose a tag to compare

New

  • Use latest version of the docker SDK (@wxdao)
  • Add docs for using a local insecure registry (@asksven)

Thanks for the contributions :)

v1.3.0 - import images from docker into k3d

23 Jul 17:31
c5e5adb
Compare
Choose a tag to compare

Changes

  • [BUGFIX/ENHANCEMENT] ignore docker-machine errors and add more verbose logs (@andyz-dev)
  • [BUGFIX] fix timeout for k3d create (@darobs)
  • [FEATURE] new command k3d import-images to import images from the used docker daemon into containerd within k3d

Features explained

Use the import-images command:

  1. Create a cluster with the latest version of k3s (must be at least k3s:v0.7.0-rc2, because of ctr): k3d create -n test0 -w 2 --image rancher/k3s:v0.7.0-rc2
  2. Import two images: k3d import-images -n test0 nginx:local redis:local (comma instead of whitespace works as well for separating the list of images)

Thank you for all comments and contributions :)

Feedback is always welcome :)

v1.3.0-dev.0 - test import-images feature

01 Jul 11:07
Compare
Choose a tag to compare

This release is meant for testing the k3d import-images feature introduced by PR #83 .
It only works with rancher/k3s tag of v0.7.0-rc2 or later due to a hard requirement on ctr inside the k3s containers.

Test it with the attached binaries e.g. like this:

k3d import-images -n test0 nginx:local redis:local
or
k3d import-images -n test0 nginx:local,redis:local

Note: you need to create a cluster with the k3s image that includes ctr. E.g.

k3d create -a 6550 -n test0 -w 2 --image rancher/k3s:v0.7.0-rc2

Feedback welcome on PR #83 or issue #19