Releases: k3d-io/k3d
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.
v1.2.0-beta.0
New
- FEATURE: add arbitrary port mappings using the
--publish
/--add-port
flag.- using docker syntax:
--publish ip:hostPort:containerPort/protocol
, where onlycontainerPort
is mandatory
- using docker syntax:
v1.1.0
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)