🎉 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 😁
🙏 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
- Old (k3d v1.x):
-
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.