Releases: kubernetes-sigs/kind
0.2.0
Breaking Changes
- Default clusters will now be Kubernetes
v1.13.4
, the default node image is nowkindest/node:v1.13.4
v1alpha1
config is no longer suppported, please upgrade tov1alpha3
(v1alpha2
is also suppported in this release)v1alpha3
is now the default config version- The
Config
type was renamed toCluster
127.0.0.1
is the default address for binding the API server port to the host, if you wish to use0.0.0.0
please set this in thenetworking
section ofCluster
config inv1alpha3
replicas
is no longer a field on nodes, given the low node count, please write one entry per nodekubeadmConfigPatches
andkubeadmConfigPatchesJSON6902
have moved to theCluster
level from nodes (though they were applied cluster-wide previously, and only from the bootstrap control plane node)
- The
New Features
- Cluster bootup should be faster on Linux in particular, many tasks are now handled in parallel
- The CNI (weave) is bundled in the node-image, clusters should work without internet access if
kindest/node
is pulled ahead of time - support for multiple-control planes with an external-load balancer, I.E. """HA""" clusters
v1alpha3
now supports cluster-wide networking options, which allow for setting the API server listen address and port on the host- proxy support is improved
http_proxy
,https_proxy
, andno_proxy
are supported instead of their uppercase equivilants if the uppercase values are not set- the nodes's docker daemons will be configured with proxy settings from the host (thanks
- Paths on the host may be bind-mounted to nodes using the new
extraMounts
field on nodes, to E.G. share a directory with the host and a node - We have a new documentation site https://kind.sigs.k8s.io/ 🎉
- we have a logo now
- kind is CNCF certified conformant
- kind should work on ARM, though kubernetes images will need to be built locally for now
kind load docker-image
andkind load image-archive
are now supported for side-loading images into your cluster- kubeadm output from init and join will be printed when the kind loglevel is debug
- kind is now developed with go modules instead of dep
- Improved usage output for
kind create cluster
on Windows
Fixes
- CNI was upgraded to 0.7.5 in the base image
- Docker was upgraded to 18.06.3 with patched runc
- kubelet disk eviction and image GC are disabled for kind clusters, this prevents various failures when the host has low disk space. As kind clusters do not run on dedicated hosts, we configure Kubernetes not to reserve disk overhead.
- Docker image archives are chowned to
root:root
in the node image, fixing user namespace remapping support - No emoji are re-used in CLI output, every action now has a unique emoji
Contributors
Thanks to everyone who committed to this release! ❤️
Alphabetically by user name:
0.1.0 - The second alpha release
This release contains many exciting features! Amongst other things we now have support for multi-node clusters thanks to @fabriziopandini, and fixes have been made for kind on Windows.
UPDATE 2019-02-11
Due to CVE-2019-5736 ("the runc escape")
kindest/node:v1.13.2@sha256:d070e091e7c0e515a37d0834ea72828b2338acdc4bc7a13cbb84274fb14e5e83
or:
kindest/node:v1.13.3@sha256:d1af504f20f3450ccb7aed63b67ec61c156f9ed3e8b0d973b3dee3c95991753c
Should be used instead of the default image in this release. Example:
kind create cluster --image=kindest/node:v1.13.3@sha256:d1af504f20f3450ccb7aed63b67ec61c156f9ed3e8b0d973b3dee3c95991753c
In the future we are looking at not pinning to an exact image by default, so that minimal fixes can be silently pushed.
We are additionally hoping to adopt rootless containers once support lands in Kubernetes.
Breaking changes since 0.1.0
- Default clusters will now be Kubernetes v1.13.2, and the default node image is now
kindest/node:v1.13.2@sha256:e14edfa4950e009fe560499c9db6e89daae8bd18bcb372caca6d321a86c52cda
- nodeLifecycleHooks are no longer supported in the config, we believe this feature was unused and will revisit it later, if you need this, please file an issue with your use case!
- Deleting a cluster now attempts to delete the cluster specific
KUBECONFIG
file on the host (thanks @blakestoddard!)
New Features
- The current kind
Config
is now atkind.sigs.k8s.io/v1alpha2
, with support for multi-node clusters! (thanks @fabriziopandini!) - The default image was upgraded to Kubernetes v1.13.2 (see above)
- kind should now work on hosts where userns remap is enabled in the docker daemon (thanks @vasrem!)
- Improved documentation (thanks @alejandrox1, @jimangel, @tao12345666333, @k8k, @timoreimann, @chuckha, @superbrothers, @benmoss!)
kubeadm
's config is now internallyv1beta1
when new enough Kubernetes images are used, this should improve stable support for future Kubernetes versions. Additionally all config objects are populated, so they may be patched via patches in kind's config.- When removing a
KUBECONFIG
file, we attempt to detect if the environment variable is set and warn about unsetting it (thanks @blakestoddard, @manparvesh!) - The base image now contains conntrack, in order to support installing recent
kubeadm
packages. by default it is nowkindest/base:v20181203-d055041
kind build node-image
now supports a--kube-root
flag to explicitly specify the path to Kubernetes's source code, if unset kind will continue to auto-detect this via go's build tooling. (thanks @inercia!)
Fixes
- On Windows the
KUBECONFIG
files should now be placed in the default directory correctly (we now use the homedir util from client-go) - On Windows patching kubeadm config should work correctly
- Recent
kubeadm
debian packages should be installable in the base image after adding conntrack (see above)
Committers to this release are:
- @BenTheElder
- @fabriziopandini
- @kris-nova
- @blakestoddard
- @jimangel
- @tao12345666333
- @alejandrox1
- @manparvesh
- @inercia
- @superbrothers
- @chuckha
- @timoreimann
- @k8k
- @vincepri
- @k8s-ci-robot
Thank you for your contributions!
Additionally, special thanks to @neolit123, @krzyzacy, @munnerz, and @amwat for PR reviews!
0.0.1 - The first alpha test-release
UPDATE 2019-02-11
Due to CVE-2019-5736 ("the runc escape")
kindest/node:v1.12.5@sha256:2cc6e8153dbe32db0b962cda060e193615951ae8d2a0b808535726a9b6b5e583
or
kindest/node:v1.13.2@sha256:d070e091e7c0e515a37d0834ea72828b2338acdc4bc7a13cbb84274fb14e5e83
or:
kindest/node:v1.13.3@sha256:d1af504f20f3450ccb7aed63b67ec61c156f9ed3e8b0d973b3dee3c95991753c
Should be used instead of the default image in this release. Example:
kind create cluster --image=kindest/node:v1.13.3@sha256:d1af504f20f3450ccb7aed63b67ec61c156f9ed3e8b0d973b3dee3c95991753c
In the future we are looking at not pinning to an exact image by default, so that minimal fixes can be silently pushed.
We are additionally hoping to adopt rootless containers once support lands in Kubernetes.
Please consider upgrading to kind 0.1.0 or newer as well.
UPDATE: Kubernetes v1.12.2
is affected by CVE-2018-1002105; when using kind create cluster
please set the image to a non-default image via the --image
flag. The following Kubernetes v1.12.3
image should be suitable: kindest/node:v1.12.3@sha256:f0ecb1066697d9417365ca58410132e512ce2010763470bb28c1e8f7fef55464
A patch release will be made to upgrade this default, see #180.
kind
is still alpha-grade software, and as such breaking changes will be made to future releases.
This release allows early users to pin to these pre-built binaries and avoid these changes until they intend to upgrade, rather than installing from HEAD with go get ...
NOTE: the default kind create cluster
pins to a specific node image in order to avoid breakage there.
This image is: kindest/node:v1.12.2@sha256:6ac1dc1750fc0efd13d4e294115f9012a21282957e4380a5535bd32154193d4d
on the current official registry.
Contributors to this release are:
- @BenTheElder
- @munnerz
- @alejandrox1
- @tao12345666333
- @neolit123
- @fabriziopandini
- @Lion-Wei
- @mooncak
- @radu-matei
- @AdamDang
- @cblecker
Thank you for your contributions!