Releases: k3d-io/k3d
v1.3.2
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
v1.3.0 - import images from docker into k3d
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:
- Create a cluster with the latest version of k3s (must be at least
k3s:v0.7.0-rc2
, because ofctr
):k3d create -n test0 -w 2 --image rancher/k3s:v0.7.0-rc2
- 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
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
v1.2.2
Code
- [ENHANCEMENT]
k3d create --workers X
now has a short-hand notation of-w
(#76)- NOTE:
-w
moved from--wait
to--workers
- NOTE:
- [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 withKUBECONFIG
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 ofauto
,bash
,zsh
)
- [ENHANCEMENT] Improved error handling for
k3d create
(#64) - [DEPRECATION] we deprecated the
--timeout
flag fork3d create
and merged the functionality into the--wait
flag. (#59)- new usage:
k3d create --wait <seconds>
, where--wait 0
means wait indefinitely
- new usage:
- [ENHANCEMENT] Each possible failure during the cluster creation process will result in a full rollback (#60)
- [FEATURE] new flag
--auto-restart
for thek3d 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
Code
- [DEPRECATION] we deprecated the
--timeout
flag fork3d create
and merged the functionality into the--wait
flag.- new usage:
k3d create --wait <seconds>
, where--wait 0
means wait indefinitely
- new usage:
- [ENHANCEMENT] Each possible failure during the cluster creation process will result in a full rollback
- [FEATURE] new flag
--auto-restart
for thek3d 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
- [ENHANCEMENT] Always show all clusters in
k3d ls
/k3d list
(--all
flag will be deprecated in v2.0.0)
v1.2.0
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 toserver
by default- it can be either a descriptor from
server
/master
,workers
andall
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
- it can be either a descriptor from
- only
- [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
Enhancements for release v1.2.0-beta.1.
- better error handling
- bugfixes
v1.2.0-beta.1
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
- node-specifier can be either one of
--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
- if a multi-node portmapping is specified (e.g.