Releases: k3d-io/k3d
v1.7.0
Features/Enhancements
- Improve judgement and show an error if non-existent cluster-name was passed to delete/start/stop (#197, @sunny0826)
- New flag
--registry-volume
forcreate
to (re-)use an existing volume as storage backend for the managed registry (#199, @inercia) - New flag
--keep-registry-volume
fordelete
to not delete the volume used by the registry (#199, @inercia) - New flag
--enable-registry-cache
to make the managed registry act as a pull-through cache for DockerHub (#207, @inercia)
v1.6.0
Features/Enhancement
- New Flag
--registry-file FILE
forcreate
to point to a non-defaultregistries.yaml
file (#173, @inercia) - Do not print the /etc/hosts message if the registry name can be resolved (#177, @inercia)
- New flag
--prune
fordelete
to disconnect all containers from the cluster network before removing it (#178, @inercia) - Start existing registry when starting/creating a cluster
- improved error message when getting the kubeconfig fails
Build/Development
Docs
v3.0.0-alpha.1 -> Second Preview of k3d v3
Changes since alpha.0
- cleaned up the repo and structured some ideas
- implemented
--k3s-server-arg
and--k3s-agent-arg
flags - implemented
--wait
flag (waits for all masters to be up) - CLI: now rolling back if cluster creation fails
- Fixed/Improved Makefile and ported e2e tests from
master
v1.5.1
v1.5.0
Features
- New flag
k3d create --label key[=value][@node-specifier]
to assign docker labels to node containers (#163, @lionelnicolas) - New flags `k3d create --enable-registry [--registry-name NAME] [--registry-port PORT] to automatically create/attach a local insecure registry when creating a cluster (#161 + #169, @inercia)
- New flag
k3d get-kubeconfig --overwrite
to force an overwrite of the kubeconfig.yaml (fixes #154)
Development
Fixes
- return error if no image was specified for
import-image
- adapt to new tagging-scheme of k3s (and differences between GitHub releases and DockerHub tags)
- better default + help text for
--wait
flag (default is not0
=wait forever)
Docs
Thanks to all contributors!
Note: default k3s version in this release is rancher/k3s:v1.17.0-k3s.1
v3.0.0-alpha.0 -> First Preview of k3d v3.0.0
Preview k3d v3.0.0
In the beginning, k3d was a learning project and grew organically without a clear plan in mind.
This and the eagerness to implement all the requested features as fast as possible, resulted in quite a lot of spaghetti code which became a bit more difficult to maintain and extend.
k3d v3 aims to make a few things better:
- a better project structure with more clearly defined module/package boundaries
- cleaner/leaner code
- new CLI syntax to fit better into the Kubernetes ecosystem (syntax similar to e.g. kubectl)
- usable as a Go module from within other Go projects.
Additionally it offers some new or modified features compared to v1.x, even though not every single feature of v1.x found its way into v3 yet.
This is quite an early release, but I'd like to gather feedback rather earlier than later now.
So please test this release, play around with it, open issues and/or pull-requests and let me know, what you think of it via Slack :)
v1.4.0
New Features
- [experimental]
add-node
command (#102)- see https://github.com/rancher/k3d/releases/tag/v1.4.0-dev.0 for more details
version
command
Enhancements
- replace 127.0.0.1 in kubeconfig (#137, thanks @M3t0r)
- improved log messages
- wait for kubeconfig to be written when
--wait
is set
Documentation
- improved section related to connecting to private registries
- #135, thanks @fearoffish
- thanks @pojntfx
- #157 + #158 , thanks @chrisjohnson
v1.4.0-dev.0 - preview `add-node` command
About
This preview release includes lots of deprecations and code cleanups as well as an experimental new feature to add new nodes to existing clusters.
Preview
- preview the new
k3d add-node
command which lets you add new nodes to existing k3d or k3s clusters- this is still under development, so you cannot use all the options which are available to the
create
command yet
- this is still under development, so you cannot use all the options which are available to the
NAME:
k3d add-node - Add nodes to an existing k3d/k3s cluster (k3d by default)
USAGE:
k3d add-node [command options] [arguments...]
OPTIONS:
--role value, -r value Choose role of the node you want to add [agent|server] (default: "agent")
--name value, -n value Name of the k3d cluster that you want to add a node to [only for node name if --k3s is set] (default: "k3s-default")
--count value, -c value Number of nodes that you want to add (default: 1)
--image value, -i value Specify a k3s image (Format: <repo>/<image>:<tag>) (default: "docker.io/rancher/k3s:v0.10.2")
--arg value, -x value Pass arguments to the k3s server/agent command.
--env value, -e value Pass an additional environment variable (new flag per variable)
--volume source:destination, -v source:destination Mount one or more volumes into every created node (Docker notation: source:destination)
--k3s https://<host>:<port> Add a k3d node to a non-k3d k3s cluster (specify k3s server URL like this https://<host>:<port>) [requires k3s-secret or k3s-token]
--k3s-secret value, -s value Specify k3s cluster secret (or use --k3s-token to use a node token)
--k3s-token value, -t value Specify k3s node token (or use --k3s-secret to use a cluster secret)[overrides k3s-secret]
Feedback is very welcome :)
Just releasing this now so you can test it already, since it's going a bit slow at the moment due to high workloads among collaborators.
v1.3.4
CLI
- new global flag
--timestamp
to show timestamps in logs
Internal
get-kubeconfig
: only continue on error, if--all
is set (thanks to @ibuildthecloud, #128)- do not run k3s as PID 1; use init (thanks to @ibuildthecloud, #129)
- Exit Code 1 if no clusters were found in
get-kubeconfig
,ls
anddelete
Docs
- example for running k3d on unsupported filesystems (thanks to @zer0def, #124)
- clarify in example section, that k3s uses traefik by default
- add brew install instructions (thanks to @docwhat, #127)
Development / Build Process
- only build with go 1.13 in Travis
- update to golangci-lint v1.20