Skip to content

Releases: k3d-io/k3d

v3.2.1

12 Nov 19:57
aa3a54e
Compare
Choose a tag to compare

v3.2.1

Bugfixes

  • fix: new Docker VM IP lookup breaking cluster creation on Docker for Desktop installations not using docker-machine

v3.2.0

04 Nov 18:50
14edd4f
Compare
Choose a tag to compare

v3.2.0

Features

  • add docker's --gpus flag to enable GPU usage (#395)
  • ported: use either docker-machine ip or host.docker.internal to get the docker VM IP (#399)
    • used to expose the Kubernetes API on win/mac, if no IP was set explicitly

Bugfixes

  • fix: nilpointer exception when exec process in node failed
  • fix: do not return 0 (success) when a part of the image import process failed

Infra/Docs/Misc

  • CI/CD: add Travis Pipeline to release to AUR (Arch Linux User Repository, #391, @JohnnyCrazy)
  • allow setting custom helper image version at build time
  • docs: use latest API version for Ingress (#395, @dhoppe)
  • docs: add hint on asdf install option in readme (#389, @poikilotherm)

v3.1.5

21 Oct 18:37
27a133a
Compare
Choose a tag to compare

v3.1.5

Features

  • feat: bring back the --label/-l flag to add docker container labels to k3d node containers (@lionelnicolas, #378)

Bugfixes

  • fix: k3d cluster delete errored out (non-zero exit code), when no cluster with given name exists
    • now emits an info log and exits with 0

Misc

  • CI/CD: build and push two more docker images (latest and $GIT_TAG, linux-amd64 only):

v3.1.4

19 Oct 12:45
425b9b7
Compare
Choose a tag to compare

v3.1.4

Fixes & Enhancements

  • fix: injection of host.k3d.internal not working with k3s v1.19+
    • missing xargs executable from PATH
  • fix: injection of host.k3d.internal failing on MacOS and Windows
    • logreader was emptied before scanning it

Misc

  • Enhanced end-to-end tests: test full lifecycle for multiple k3s versions with E2E_EXTRA=1
  • Update cobra cli dependency to v1.1.0 (GA of custom ZSH completions)

k3s versions tested

This k3d version passed end-to-end tests for the following k3s image versions:

  • rancher/k3s:v1.17.12-k3s1
  • rancher/k3s:v1.18.9-k3s1
  • rancher/k3s:v1.19.2-k3s

v3.1.3

10 Oct 15:42
688c8d1
Compare
Choose a tag to compare

v3.1.3

Bugfixes/Enhancements

  • fix: k3d cluster create --network somenet selected network by prefix instead of exact match
  • fix: cannot create k3s v1.19+ clusters with multiple server nodes
    • Problem: k3s v1.19 ships with embedded etcd (instead of dqlite), which only allows one learner node at a time
    • Solution: wait for preceding server node to emit "k3s is up and running" before joining the next one (which would fail)
    • Consequence: creating multi-server clusters becomes a little slower
      • "Benchmark" (Ubuntu 20.04, Docker 19.03, i7-9750H, 32GiB RAM) for 4 server nodes
        embedded DB k3s version time to cluster with parallel server creation time to cluster with serial server creation difference
        dqlite v1.18.9-k3s1 30.508s 37.034s 6.526s
        etcd v1.19.2-k3s1 didn't work 52.169s -

Docs

  • New section on using Calico CNI instead of Flannel (#367, @louiznk)

k3s versions tested

This k3d version passed end-to-end tests for the following k3s image versions:

  • rancher/k3s:v1.17.12-k3s1
  • rancher/k3s:v1.18.9-k3s1
  • rancher/k3s:v1.19.2-k3s1 (see Known Issues below)

Known Issues

  • Injection of the host.k3d.internal into the CoreDNS ConfigMap does not work on rancher/k3s:v1.19.2-k3s1, because the image is missing the used xargs command (to be fixed).

v3.1.2

07 Oct 09:47
c27410e
Compare
Choose a tag to compare

Bugfixes

  • fix nil pointer exception caused by incomplete edge case handling when trying to get the host IP for host.k3d.internal injection (fixes #371)

Note: based on the same commit as v3.1.2-beta.0, which was confirmed to be working now.

v3.1.2-beta.0

07 Oct 09:08
c27410e
Compare
Choose a tag to compare
v3.1.2-beta.0 Pre-release
Pre-release

Bugfixes

  • fix nil pointer exception caused by incomplete edge case handling when trying to get the host IP for host.k3d.internal injection (#371)

v3.1.1

07 Oct 07:04
11cc797
Compare
Choose a tag to compare

v3.1.1

Enhancements/Features

  • new root flag --trace to enable trace logging
    • even more verbose than --debug
    • debug logging is now a little less verbose to get a better overview

Bugfixes

  • fix: the injection of the host IP entry (host.k3d.internal) is now less breaking
    • we still try to read the exec logs, even if it returned a non-zero exit code (edge case)
    • if we cannot read the hostIP, we only log a warning and continue building the cluster

v3.1.0

06 Oct 10:56
6708515
Compare
Choose a tag to compare

v3.1.0

Enhancements/Features

  • inject special hosts and DNS entry host.k3d.internal (#360)
    • by default, we're now injecting an entry of the form 1.2.3.4 host.k3d.internal into
      • /etc/hosts of the k3d containers (k3s nodes)
      • section NodeHosts in the coredns ConfigMap in the kube-system namespace
    • this can be disabled using k3d cluster create --no-hostip
    • the IP shown as 1.2.3.4 will be the routable IP of your docker host machine (similar to host.docker.internal in Docker for Desktop) and enables you to access services running on your host machine from inside the pods running in your k3d/k3s cluster

Docs

  • add information on host.k3d.internal and on some flags that were missing from the docs

Misc

  • e2e-tests:
    • test image import feature
    • test host.k3d.internal DNS entry

v3.1.0-dev.0 - Test host-IP injection

02 Oct 07:44
60069f6
Compare
Choose a tag to compare
Pre-release

Pre-Release to exclusively test #360