Skip to content

Releases: kubernetes-sigs/kind

0.2.0

20 Mar 19:39
Compare
Choose a tag to compare
0.2.0 Pre-release
Pre-release

Breaking Changes

  • Default clusters will now be Kubernetes v1.13.4, the default node image is now kindest/node:v1.13.4
  • v1alpha1 config is no longer suppported, please upgrade to v1alpha3 (v1alpha2 is also suppported in this release)
  • v1alpha3 is now the default config version
    • The Config type was renamed to Cluster
    • 127.0.0.1 is the default address for binding the API server port to the host, if you wish to use 0.0.0.0 please set this in the networking section of Cluster config in v1alpha3
    • replicas is no longer a field on nodes, given the low node count, please write one entry per node
    • kubeadmConfigPatches and kubeadmConfigPatchesJSON6902 have moved to the Cluster level from nodes (though they were applied cluster-wide previously, and only from the bootstrap control plane node)

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, and no_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 and kind 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

16 Jan 05:19
Compare
Choose a tag to compare
Pre-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 at kind.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 internally v1beta1 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 now kindest/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:

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

29 Nov 00:40
Compare
Choose a tag to compare
Pre-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:

Thank you for your contributions!