Skip to content

Releases: k3d-io/k3d

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

v1.2.2

07 Jun 13:20
5ebe276
Compare
Choose a tag to compare

Code

  • [ENHANCEMENT] k3d create --workers X now has a short-hand notation of -w (#76)
    • NOTE: -w moved from --wait to --workers
  • [ENHANCEMENT] k3d create --api-port now accepts arguments of format [host:]port to allow connecting to different interfaces (#75)
  • [ENHANCEMENT] Identify k3d docker networks using a prefix (#72)
  • [FEATURE] Support for docker machine (#71)
  • [ENHANCEMENT] Also pass environment variables to the worker nodes (#69)
  • [FEATURE] New k3d shell to spawn a sub-shell with KUBECONFIG set to the selected cluster (#66, #70)
    • --name / -n to select the cluster
    • --command / -c to execute a command and return
    • --shell / -s to select the shell that you want to use (one of auto, bash, zsh)
  • [ENHANCEMENT] Improved error handling for k3d create (#64)
  • [DEPRECATION] we deprecated the --timeout flag for k3d create and merged the functionality into the --wait flag. (#59)
    • new usage: k3d create --wait <seconds>, where --wait 0 means wait indefinitely
  • [ENHANCEMENT] Each possible failure during the cluster creation process will result in a full rollback (#60)
  • [FEATURE] new flag --auto-restart for the k3d create command, instructing docker to restart the cluster in case of non-manually induced stops (= unless-stopped) (#61)

Non-Code

  • [DOCS] we refactored the README and separated sections for documentation in the docs/ directory
  • [PROJECT] we introduced issue templates for bug reports and feature requests to enable us to act faster on them without having to request more information first

As usual, feedback is very welcome :)

v1.2.2-beta.0

22 May 07:54
3947baf
Compare
Choose a tag to compare
v1.2.2-beta.0 Pre-release
Pre-release

Code

  • [DEPRECATION] we deprecated the --timeout flag for k3d create and merged the functionality into the --wait flag.
    • new usage: k3d create --wait <seconds>, where --wait 0 means wait indefinitely
  • [ENHANCEMENT] Each possible failure during the cluster creation process will result in a full rollback
  • [FEATURE] new flag --auto-restart for the k3d create command, instructing docker to restart the cluster in case of non-manually induced stops (= unless-stopped)

Non-Code

  • [DOCS] we refactored the README and separated sections for documentation in the docs/ directory
  • [PROJECT] we introduced issue templates for bug reports and feature requests to enable us to act faster on them without having to request more information first

As usual, feedback is very welcome :)

v1.2.1

19 May 11:32
ba231f5
Compare
Choose a tag to compare
  • [ENHANCEMENT] Always show all clusters in k3d ls/k3d list (--all flag will be deprecated in v2.0.0)

v1.2.0

18 May 20:09
cb1daeb
Compare
Choose a tag to compare

What changed?

  • [FEATURE]: New Flags for k3d create:
    • --publish/--add-port [ip:][host-port:]container-port[/protocol][@node-specifier]
      • only container-port is mandatory
      • the node-specifier is set to server by default
        • it can be either a descriptor from server/master, workers and all or a full name of a node (e.g. k3d-k3s-default-worker-1)
        • if you choose to map the same container-port from more than one container to the host, you can make use of the --port-auto-offset X flag which will automatically choose the host-port based on the provided offset
  • [CHANGE]: --api-port/-a is now the default to set the K8s ApiPort mapping, since we want to re-use --port/-p for the functionality of --publish/--add-port
    • --port/-p will have the new functionality as of v2.0.0
  • [ENHANCEMENT] no empty list and more meaningful cluster status table
  • [CHANGE] --volume/-v is now a string-slice, so it has to be provided for each extra volume-mount
  • [BUGFIXES] no cluster name conflicts or accidental deletions of clusters
  • [ENHANCEMENT] clean up docker volumes upon cluster deletion
  • [ENHANCEMENT] Makefile fixed and now usable on more platforms (had problems on Mac)
  • several more refactorings, bugfixes, enhancements

Thanks

  • to @andyz-dev for becoming our new very active collaborator!
  • to @andyz-dev and @zeerorg for several bugfixes and enhancements
  • to @goffinf and @mash-graz for the very beneficial discussions on the port mapping issue
  • to everyone who actively contributed to the project via PRs and opening new issues, filing bugreports, etc.

Thanks for the nice and helpful feedback!

There are many more fixes and enhancements and features coming, so stay tuned :)

v1.2.0-beta.2

15 May 06:12
8d70dd2
Compare
Choose a tag to compare
v1.2.0-beta.2 Pre-release
Pre-release

Enhancements for release v1.2.0-beta.1.

  • better error handling
  • bugfixes

v1.2.0-beta.1

13 May 14:05
3a2eeba
Compare
Choose a tag to compare
v1.2.0-beta.1 Pre-release
Pre-release

Beta-Release for PR #43

Changes:

  • --publish/--add-port syntax is now [ip:][host-port:]container-port[/protocol]@node-specifier, where container-port and node-specifier are mandatory and node-specifier can be one or multiple
    • node-specifier can be either one of all, server, worker or the name of a node that will be created (easier naming will follow, since e.g. k3d-some-test-name-worker-0 is not convenient to use)
    • since the node-specifier is mandatory, we won't automatically map ports to multiple nodes
  • --api-port/-a is now the default to set the K8s ApiPort mapping, since we want to re-use --port/-p for the functionality of --publish/--add-port
  • You can toggle/set a automatic port offset for mapping the same container-port from multiple worker nodes to predictable host-ports using the new --port-auto-offset X flag with X > 0.
    • if a multi-node portmapping is specified (e.g. --publish 1234:4321@workers) without the auto offset flag set, the docker API will return an error due to colliding ports

v1.2.0-beta.0

09 May 08:27
32cc70b
Compare
Choose a tag to compare
v1.2.0-beta.0 Pre-release
Pre-release

New

  • FEATURE: add arbitrary port mappings using the --publish/--add-port flag.
    • using docker syntax: --publish ip:hostPort:containerPort/protocol, where only containerPort is mandatory

v1.1.0

09 May 06:23
Compare
Choose a tag to compare

New in v1.1.0:

  • ENHANCEMENT nodes now have docker name as hostname so that they're better identifiable via kubectl (Issue #25, Commit 9ac8198)
  • FEATURE: specify custom k3s image via --image <repo>/<image>:<tag> (shorthand -i) (Issue #28, PR #30)
    • docker.io is the default registry, rancher/k3s is the default image
    • Note: This will soon deprecate the --version flag
  • FIX: enforce RFC 1123 compliant hostnames for cluster names and set default name accordingly (Issue #34, PR #35)