Skip to content

Releases: k3d-io/k3d

v3.0.0-beta.2

02 Jun 07:07
ae9be06
Compare
Choose a tag to compare
v3.0.0-beta.2 Pre-release
Pre-release

🎉 Third Beta of k3d v3

🆕 🆙 Changes since v3.0.0-beta.1

Features

  • rootCmd: add back --version flag (same behavior as k3d version)
  • fetch latest k3s version at build time from k3s' channel server (#249)
  • re-add support for named volumes with the --volume flag (#251)
  • re-add support to specify mount options with the --volume flag`
  • add --wait and --timeout DURATION flags to k3d start cluster to let it wait for the cluster to be up before returning (#252)
  • k3d create cluster --wait now also waits for the loadbalancer to be ready before returning

Fixes

  • take loadbalancer into consideration when mapping ports
  • do not consider loadbalancer in node list if it wasn't created
  • fix nil pointer exception when getting a non-existent node
  • use default role label and command when creating a new node in a cluster where no node with the target role exists

Maintenance

  • cleanup debug logging

README/Docs

  • links to demo repo and meetup video
  • new release overview
  • asciicast video demo
  • new Logo (thanks to @lvuch :))
  • fixed typo (#243, @curx)

Miscellaneous

  • switched v3 to master branch
  • remove unneeded echo in install script (#246, @vandot)
  • fix duplicate curl command in install script #250, @lionelnicolas)
  • use version command instead of --version in install script (#256, @izzatzr)

v3.0.0-beta.1

11 May 10:40
e98f96b
Compare
Choose a tag to compare
v3.0.0-beta.1 Pre-release
Pre-release

🎉 Second Beta of k3d v3

We've spent quite some days on completely re-writing k3d from scratch. New concepts, new architecture, new setup, new syntax, new everything.

Why v3? Because v2 is too mainstream.. 🙄 The real reason is that v3 is not just the next step in k3d's "evolution", but rather a complete rewrite, including new concepts and structures. At first it was planned to drop a v2.0.0 release in between v1.x and v3.0.0, but due to the changes over time, this is not going to happen anymore.
Also, "k3d v3" just sounds sooo good :feelsgood: 😁

🙏 Testing

Please test this beta version thoroughly, but be aware that it includes some big breaking changes.

💻 Installation

Please checkout the installation instructions here: https://k3d.io/#installation

📄 Documentation & Website

We're now building a website from the docs/ folder using mkdocs.
The final site files will be stored in the gh-pages branch.
Check it out: https://k3d.io/

❗ Breaking Changes

  • By far the largest breaking change for you as a k3d user is the change of the CLI syntax.

    • Old (k3d v1.x): k3d create -n mycluster
    • New: k3d create cluster mycluster
    • Please checkout k3d help or the command tree on the website as a reference
  • Every cluster you create will now spawn at least 2 containers:

    • 1 master node
    • 1 load balancer
      • The load balancer will be the access point to the Kubernetes API, so even for multi-master clusters, you only need to expose a single api port. The load balancer will then take care of proxying your request to the correct master node.
  • By default get kubeconfig will now modify your default kubeconfig, instead of creating a new file for each cluster

🆕 New Features

There are a lot of new features, like

  • creating multi-master clusters (dqlite): k3d create cluster --masters 3
  • updating existing kubeconfigs: k3d get kubeconfig mycluster --output /my/kubeconfig.yaml --update
  • attaching new clusters to existing networks: k3d create cluster --network this-other-network
  • handling nodes independently from clusters: k3d create/start/stop/delete node mynode

... many more ...

🔜 Missing Features

There are some features of v1.x that haven't made it into this release yet.
Probably the most prominent one is the registries feature (--enable-registry) and related options.
Please checkout the feature comparison page on the website to see what's implemented, what's missing, what has been dropped and what is planned to land in v3.x.

🆕 🆙 Changes since v3.0.0-beta.0

  • k3d create cluster --no-lb: new --no-lb flag to disable the automatic deployment of the loadbalancer in front of the cluster's master nodes
    • This will result in --api-port SOMEPORT to be exposed on the first master node (i.e. master-0) instead
  • iwilltry42/k3d-proxy:v0.0.2: new version of the used nginx proxy, with improved health checks and new variables to update the loadbalancing configuration
  • masterlb: now hot-reloads configuration when a new master node is being added to the cluster
  • k3d create node: now inherits more details from existing nodes in the cluster and does not fail anymore if no node with the target role exists in cluster
  • New nodefilter loadbalancer for k3d create cluster --port (see example in docs)
    • Example: k3d create cluster mycluster --port 8080:80@loadbalancer will add a mapping of host port 8080 to loadbalancer port 80, which will proxy requests to port 80 on all master nodes
  • Docs:

v3.0.0-beta.0

04 May 16:57
ecea154
Compare
Choose a tag to compare
v3.0.0-beta.0 Pre-release
Pre-release

🎉 First Beta of k3d v3

We've spent quite some days on completely re-writing k3d from scratch. New concepts, new architecture, new setup, new syntax, new everything.

Why v3? Because v2 is too mainstream.. 🙄 The real reason is that v3 is not just the next step in k3d's "evolution", but rather a complete rewrite, including new concepts and structures. At first it was planned to drop a v2.0.0 release in between v1.x and v3.0.0, but due to the changes over time, this is not going to happen anymore.
Also, "k3d v3" just sounds sooo good :feelsgood: 😁

🙏 Testing

Please test this beta version thoroughly, but be aware that it includes some big breaking changes.

💻 Installation

Please checkout the installation instructions here: https://k3d.io/#installation

📄 Documentation & Website

We're now building a website from the docs/ folder using mkdocs.
The final site files will be stored in the gh-pages branch.
Check it out: https://k3d.io/

❗ Breaking Changes

  • By far the largest breaking change for you as a k3d user is the change of the CLI syntax.

    • Old (k3d v1.x): k3d create -n mycluster
    • New: k3d create cluster mycluster
    • Please checkout k3d help or the command tree on the website as a reference
  • Every cluster you create will now spawn at least 2 containers:

    • 1 master node
    • 1 load balancer
      • The load balancer will be the access point to the Kubernetes API, so even for multi-master clusters, you only need to expose a single api port. The load balancer will then take care of proxying your request to the correct master node.
  • By default get kubeconfig will now modify your default kubeconfig, instead of creating a new file for each cluster

🆕 New Features

There are a lot of new features, like

  • creating multi-master clusters (dqlite): k3d create cluster --masters 3
  • updating existing kubeconfigs: k3d get kubeconfig mycluster --output /my/kubeconfig.yaml --update
  • attaching new clusters to existing networks: k3d create cluster --network this-other-network
  • handling nodes independently from clusters: k3d create/start/stop/delete node mynode

... many more ...

🔜 Missing Features

There are some features of v1.x that haven't made it into this release yet.
Probably the most prominent one is the registries feature (--enable-registry) and related options.
Please checkout the feature comparison page on the website to see what's implemented, what's missing, what has been dropped and what is planned to land in v3.x.

v3.0.0-alpha.4

27 Apr 16:37
7744c52
Compare
Choose a tag to compare
v3.0.0-alpha.4 Pre-release
Pre-release

Development release

v3.0.0-alpha.3

27 Apr 15:48
05f2fc1
Compare
Choose a tag to compare
v3.0.0-alpha.3 Pre-release
Pre-release

Development release

v3.0.0-alpha.2

24 Apr 13:10
b32e116
Compare
Choose a tag to compare
v3.0.0-alpha.2 Pre-release
Pre-release

Development release, for testing only.

v1.7.0

19 Mar 13:27
bb7b6e3
Compare
Choose a tag to compare

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 for create to (re-)use an existing volume as storage backend for the managed registry (#199, @inercia)
  • New flag --keep-registry-volume for delete 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

01 Feb 11:56
0ec51e1
Compare
Choose a tag to compare

Features/Enhancement

  • New Flag --registry-file FILE for create to point to a non-default registries.yaml file (#173, @inercia)
  • Do not print the /etc/hosts message if the registry name can be resolved (#177, @inercia)
  • New flag --prune for delete 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

28 Jan 14:33
70221e0
Compare
Choose a tag to compare

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

21 Jan 17:15
ecd86ed
Compare
Choose a tag to compare

Fix

  • only write registries.yaml if --enable-registry was set (Issue: #171 , Fix: #172)