Skip to content

Releases: k3d-io/k3d

v5.4.0

26 Mar 11:26
ed3aede
Compare
Choose a tag to compare

v5.4.0 - 26.03.2022

Note: This is the first independent release of k3d

  • k3d moved from rancher/k3d to k3d-io/k3d
  • k3d is fully community-owned
  • k3d does not depend on any company's toolchain or accounts

Note 2: You can now fund the work on k3d using GitHub Sponsors (@iwilltry42) or IssueHunt (k3d-io/k3d)

Added

  • GitHub Actions Release Workflow (#977 & #1024)
    • Replaces DroneCI
    • Now uses buildx & buildx bake for multiplatform builds (instead of VMs with the according architectures)
    • Now pushes to GHCR instead of DockerHub
  • docs: added FAQ entry on using Longhorn in k3d
  • docs: added config file tip that k3d expands environment variables
  • docs: added section about using k3d with Podman (#987)
  • docs: add connect section on homepage (#988)
  • added k3d node create --k3s-arg flag (#1032)

Changed

  • references to rancher/k3d updated to k3d-io/k3d (#976)
  • reference to rancher/k3s updated to k3s-io/k3s (#985)
  • explicitly set bridge mode for k3d-created networks for Podman compatibility (#986)
  • use secure defaults for curl in install script (#999)
  • chore: update docs requirements and re-run docgen for commands (#1033)
  • change: no default image for node creation in local cluster where image should be copied from existing nodes (#1034)

Fixed

  • fixed volume shortcuts not working because clusterconfig was not being processed
  • fixed AUR Release pipeline with more relaxed version selection (#966)
  • fixed ZSH completion output (#1014)
  • Do not defer goroutine to delete tools node, as this leads to errors
  • Hotfix: switch default for image import to original tools-node mode, as the new direct mode fails fairly often
  • GetGatewayIP for host.k3d.internal should error out if there's no gateway defined (#1027)
  • Store hostAliases in label to persist them across cluster stop/start (#1029)

Deprecated

Removed

  • DroneCI Test & Release Pipeline

Compatibility

This release was automatically tested with the following setups:

Docker

  • 20.10.5
  • 20.10.12

Expected to Fail with the following versions:

  • <= 20.10.4 (due to runc, see #807)

K3s

We test a full cluster lifecycle with different K3s channels, meaning that the following list refers to the current latest version released under the given channel:

  • Channel v1.23
  • Channel v1.22

Expected to Fail with the following versions:

  • <= v1.18 (due to not included, but expected CoreDNS in K3s)

New Contributors

Full Changelog: v5.3.0...v5.4.0

v5.4.0-dev.3

24 Mar 15:13
011b299
Compare
Choose a tag to compare
v5.4.0-dev.3 Pre-release
Pre-release

v5.4.0-dev.2

24 Mar 11:09
d0ffc96
Compare
Choose a tag to compare
v5.4.0-dev.2 Pre-release
Pre-release
fix: create release only on tag

v5.3.0 - 03.02.2022

03 Feb 12:52
bb8a2b0
Compare
Choose a tag to compare

v5.3.0 - 03.02.2022

Note: Now trying to follow a standard scheme defined by https://keepachangelog.com/en/1.0.0/

Added

  • new config options to configure extra hosts by @iwilltry42 in #938
  • host pid mode support for k3s-server and k3s-agent by @hlts2 in #929
  • SimpleConfig v1alpha4 by @iwilltry42 in #944
  • add env var LOG_COLORS=[1|true|0|false] to toggle colored log output (enabled by default) by @iwilltry42 in #951
  • Compatibility Tests by @iwilltry42 in #956
  • Volume Shortcuts and k3d-managed volumes by @iwilltry42 in #916
    • Use some destination shortcuts with the --volume/-v flag that k3d automatically expands
      • k3s-storage -> /var/lib/rancher/k3s/storage
      • k3s-manifests -> /var/lib/rancher/k3s/server/manifests
      • k3s-manifests-custom -> /var/lib/rancher/k3s/server/manifests/custom (not K3s default: this is just some sub-directory inside the auto-deploy manifests directory which will also be parsed)
      • k3s-containerd -> /var/lib/rancher/k3s/agent/etc/containerd/config.toml (use with caution, K3s generates this file!)
      • k3s-containerd-tmpl -> /var/lib/rancher/k3s/agent/etc/containerd/config.toml.tmpl (used by K3s to generate the real config above)
      • k3s-registry-config -> /etc/rancher/k3s/registries.yaml (or just use --registry-config)
    • k3d-managed volumes
      • non-existing named volumes starting with a k3d- prefix will now be created and managed by k3d
  • JSON schema versions in-repo to link to from schemastore.org by @iwilltry42 in #942

Changed

Fixed

  • serverlb should be created before using and restarted unless stopped by @wymli in #948
  • fix typo in node.go by @eltociear in #949
  • mutex on ensureToolsNode to avoid duplicate container name causing error by @iwilltry42 in #952
  • detect '--disable=coredns' and conditionally disable injection by @iwilltry42 in #955
  • invert logic for LOG_LEVEL parsing by @myitcv in #958

Deprecated

  • SimpleConfig API version k3d.io/v1alpha3 is now deprecated in favor of k3d.io/v1alpha4

Removed

  • unused volume validation functionality in cmd/util, does not affect the CLI (#916)

Compatibility

This release was automatically tested with the following setups:

Docker

  • 20.10.5
  • 20.10.12

Expected to Fail with the following versions:

  • <= 20.10.4 (due to runc, see #807)

K3s

We test a full cluster lifecycle with different K3s channels, meaning that the following list refers to the current latest version released under the given channel:

  • Channel v1.23
  • Channel v1.22

Expected to Fail with the following versions:

  • <= v1.18 (due to not included, but expected CoreDNS in K3s)

New Contributors

Full Changelog: v5.2.2...v5.3.0

v5.3.0-rc.1

03 Feb 09:54
75bd072
Compare
Choose a tag to compare
v5.3.0-rc.1 Pre-release
Pre-release
fix: invert logic for LOG_LEVEL parsing (#958)

v5.2.2

17 Dec 12:45
Compare
Choose a tag to compare

v5.2.2

Fixes

  • mitigate issue when importing images from multiple tars (#881, @sbaier1)
  • fix: cluster delete should not fail if no cluster was found by config file (#886, @kuritka)

Misc

Full Changelog: v5.2.1...v5.2.2

v5.2.1

07 Dec 21:54
d243bc9
Compare
Choose a tag to compare

v5.2.1

Features & Enhancements

Fixes

  • fix: only replace default api host with docker host (#879)
  • fix: use available hardcoded K3s version in version.go (0bbb5b9)

New Contributors

Full Changelog: v5.2.0...v5.2.1

v5.2.1-rc.0

07 Dec 07:34
669246b
Compare
Choose a tag to compare
v5.2.1-rc.0 Pre-release
Pre-release

v5.2.1-rc.0

Changes

  • fix replacing user-provided API host value with host.docker.internal: #879 fixing #876

v5.2.0

03 Dec 10:09
3c783bf
Compare
Choose a tag to compare

v5.2.0

Features & Enhancements

  • Improve image import performance (#826, @sbaier1)
    • New flag: k3d image import --mode [auto | direct | tools]
      • tools is the old default, which spawns a k3d-tools container for importing
      • auto is the new default to automatically detect which mode should work best
      • direct directly streams the images into the node containers without the k3d-tools container
  • Enhanced usability of nodefilters & error messages for wrong usage (#871)
  • New command: k3d version list [k3s | k3d | k3d-proxy | k3d-tools] to get image tags that can be used with k3d (#870)

Fixes

  • cluster network: reserve IP extra IP for k3d-tools container in k3d-managed IPAM to avoid conflicts
  • process the SimpleConfig before validating it to avoid early exit in hostnetwork mode (#860)
  • error out if K3D_FIX_DNS=1 is set and user tries to mount a file to /etc/resolv.conf (conflict)
  • clusterStart: only run actions which are necessary given the start reason (e.g. cluster start vs. cluster create)
  • fix injection of host.k3d.internal based on resolving host.docker.internal (#872)
    • also now uses host.docker.internal in kubeconfig based on certain conditions (see PR)

New Contributors

Full Changelog: v5.1.0...v5.2.0

v5.1.0

09 Nov 12:25
5a48613
Compare
Choose a tag to compare

v5.1.0

Features

  • clusterCreate: --image option (also in config file) magic words to follow K3s channels (#841)
    • latest/stable to follow latest/stable channels of K3s
    • +<channel> (prefix +) where <channel> can as well be latest or stable, but also e.g. v1.21
    • k3d will then check the K3s channel server to get the latest image for that channel

Enhancements

  • nodeHooks: add descriptions and log them for more verbosity (#843)
  • node create: inject host.k3d.internal into /etc/hosts similar to the cluster create command (#843)

Fix

  • --network host: do not do any network magic (like host.k3d.internal injection, etc.) when host network is used (#844)

Misc

  • CI/Makefile: build with -mod vendor
  • docs: document using some K3s features in k3d, including servicelb, traefik, local-storage-provisioner and coredns (#845)

Full Changelog: v5.0.3...v5.1.0