Releases: kubernetes-sigs/kind
v0.16.0
v0.16.0
is a quick release centered around shipping Kubernetes v1.25.2 fixes by default. Additional fixes and features are listed below.
Breaking Changes
- The default node image is a Kubernetes
v1.25.2
image:kindest/node:v1.25.2@sha256:9be91e9e9cdf116809841fc77ebdb8845443c4c72fe5218f3ae9eb57fdb4bace
- kind no longer attempts misguided symlink
/dev/kmsg
to/dev/console
when/dev/kmsg
is missing. please ensure your host has/dev/kmsg
#662 (comment) - Kubernetes v1.15.X and lower are no longer supported, as warned in KIND v0.15.0
New Features
- open-iscsi / support for iSCSI volumes
- containerd 1.6.8
- crictl 1.25.0
- go 1.19.1
New Node images have been built for kind v0.16.0
, please use these exact images (IE like kindest/node:v1.25.2@sha256:9be91e9e9cdf116809841fc77ebdb8845443c4c72fe5218f3ae9eb57fdb4bace
including the digest) or build your own as we may need to change the image format again in the future 😅
Images built for this release:
- 1.25:
kindest/node:v1.25.2@sha256:9be91e9e9cdf116809841fc77ebdb8845443c4c72fe5218f3ae9eb57fdb4bace
- 1.24:
kindest/node:v1.24.6@sha256:97e8d00bc37a7598a0b32d1fabd155a96355c49fa0d4d4790aab0f161bf31be1
- 1.23:
kindest/node:v1.23.12@sha256:9402cf1330bbd3a0d097d2033fa489b2abe40d479cc5ef47d0b6a6960613148a
- 1.22:
kindest/node:v1.22.15@sha256:bfd5eaae36849bfb3c1e3b9442f3da17d730718248939d9d547e86bbac5da586
- 1.21:
kindest/node:v1.21.14@sha256:ad5b7446dd8332439f22a1efdac73670f0da158c00f0a70b45716e7ef3fae20b
- 1.20:
kindest/node:v1.20.15@sha256:45d0194a8069c46483a0e509088ab9249302af561ebee76a1281a1f08ecb4ed3
- 1.19:
kindest/node:v1.19.16@sha256:a146f9819fece706b337d34125bbd5cb8ae4d25558427bf2fa3ee8ad231236f2
NOTE: These node images support amd64 and arm64. It remains possible to build custom images for other architectures (see the docs).
Fixes
- Fix for detecting new podman network overlap errors
- Updated metallb docs to current
Contributors
Thank you to everyone who contributed to this release! ❤️
Users whose commits are in this release (alphabetically by user name)
- @benmoss
- @BenTheElder
- @bornaivankovic
- @fedepaol
- @fukuta-tatsuya-intec
- @k8s-ci-robot
And thank you very much to everyone else not listed here who contributed in other ways like filing issues, giving feedback, testing fixes, helping users in slack, etc. 🙏
v0.15.0
v0.15.0
contains important fixes for cluster reboots and various other improvements.
Breaking Changes
- The default node image is a Kubernetes
v1.25.0
image:kindest/node:v1.25.0@sha256:428aaa17ec82ccde0131cb2d1ca6547d13cf5fdabcc0bbecf749baa935387cbf
New Features
- New single letter flag aliases
-n
for--name
and-A
for--all
, in-line withkubectl
etc. - Optimized image loading to re-tag images when the image contents are identical to previously loaded images but the tags are different
- Support for Kubernetes 1.25, fix for handling rootless + 1.25
- Containerd 1.6.7
- Go 1.19
- Updated base image distro to latest, NOTE: depend on the contents of the image at your own risk! our images enable running Kubernetes with KIND, we reserve the right to switch distros etc as needed
- Support for Podman 4.0 / netavark
- enhanced pre-release versions to include commit counts
New Node images have been built for kind v0.15.0
, please use these exact images (IE like kindest/node:v1.25.0@sha256:428aaa17ec82ccde0131cb2d1ca6547d13cf5fdabcc0bbecf749baa935387cbf
including the digest) or build your own as we may need to change the image format again in the future 😅
Images built for this release:
- 1.25:
kindest/node:v1.25.0@sha256:428aaa17ec82ccde0131cb2d1ca6547d13cf5fdabcc0bbecf749baa935387cbf
- 1.24:
kindest/node:v1.24.4@sha256:adfaebada924a26c2c9308edd53c6e33b3d4e453782c0063dc0028bdebaddf98
- 1.23:
kindest/node:v1.23.10@sha256:f047448af6a656fae7bc909e2fab360c18c487ef3edc93f06d78cdfd864b2d12
- 1.22:
kindest/node:v1.22.13@sha256:4904eda4d6e64b402169797805b8ec01f50133960ad6c19af45173a27eadf959
- 1.21:
kindest/node:v1.21.14@sha256:f9b4d3d1112f24a7254d2ee296f177f628f9b4c1b32f0006567af11b91c1f301
- 1.20:
kindest/node:v1.20.15@sha256:d67de8f84143adebe80a07672f370365ec7d23f93dc86866f0e29fa29ce026fe
- 1.19:
kindest/node:v1.19.16@sha256:707469aac7e6805e52c3bde2a8a8050ce2b15decff60db6c5077ba9975d28b98
- 1.18:
kindest/node:v1.18.20@sha256:61c9e1698c1cb19c3b1d8151a9135b379657aee23c59bde4a8d87923fcb43a91
NOTE: These node images support amd64 and arm64. It remains possible to build custom images for other architectures (see the docs).
Fixes
- Fixed rebooted node certificates
- Fixed snapshotter selection on ZFS + overlayfs-fuse
- Podman provider now includes node names in no_proxy env, matching the docker provider
- Assorted documentation fixes
- Fixed Kubernetes 1.13 configuration
- NOTE: This will be the last release supporting Kubernetes versions below v1.15.0
Contributors
Thank you to everyone who contributed to this release! ❤️
Users whose commits are in this release (alphabetically by user name)
- @a-palchikov
- @AkihiroSuda
- @aojea
- @arielmorelli
- @Benny-Git
- @BenTheElder
- @bryanasdev000
- @cavokz
- @cpanato
- @danwinship
- @harshanarayana
- @jkremser
- @k8s-ci-robot
- @keypointt
- @lepistone
- @lixin963
- @naveensrinivasan
- @pacoxu
- @rewanthtammana
- @tnqn
- @vanhtuan0409
- @wherka-ama
- @zaunist
And thank you very much to everyone else not listed here who contributed in other ways like filing issues, giving feedback, testing fixes, helping users in slack, etc. 🙏
v0.14.0
v0.14.0
is quick follow-up to v0.13.0
, upgrading packages and fixing cgroups on some non-systemd-based hosts such as WSL2 and Alpine based tools like colima and rancher-desktop.
Besides the cgroups fix, the update to the latest version of the local-path-provisioner may be a desirable upgrade worth noting with various downstream improvements.
Be sure to see the previous release notes as well!
Breaking Changes
NOTE: The systemd change is from KIND v0.13.0, but we're re-iterating it here since v0.13.0 was so recent.
- systemd cgroups driver will be used for Kubernetes v1.24.0+ (rather than 1.21.0+ when kubeadm changed the default, which we previously overrode).
- NOTE: You must use kind v0.13.0+ with Kubernetes v1.24.0+ images, and if you built your own Kubernetes v1.24.0+ image
with a previous kind version you will need to re-built when switching to kind v0.13.0+. - NOTE: You do not need to be using systemd on the host machine, In kind v0.13.0 we had a bug related to this, it should be fixed this release. systemd is used inside the kind node containers but should not be necessary on the host. We are now using it for Kubernetes pods in addition to running kubelet, containerd etc.
- KIND will continue to use cgroupfs for Kubernetes versions prior to v1.24.0.
- NOTE: You must use kind v0.13.0+ with Kubernetes v1.24.0+ images, and if you built your own Kubernetes v1.24.0+ image
- The default node image is a Kubernetes
v1.24.0
image:kindest/node:v1.24.0@sha256:0866296e693efe1fed79d5e6c7af8df71fc73ae45e3679af05342239cdc5bc8e
New Features
- digest image references should be populated when loading images
- base image updates
- crictl v1.24.0
- kind binary built with Go 1.18.2
- all kindnetd dependencies updated to latest
- updated haproxy image
- latest local-path-provisioner v0.0.22 with updated packaging
- support for Kubernetes v1.25.0-alpha pre-releases builds without the old kubeadm node taint
- updated cgroupsv2 CI to Fedora 36
New Node images have been built for kind v0.14.0
, please use these exact images (IE like kindest/node:v1.24.0@sha256:0866296e693efe1fed79d5e6c7af8df71fc73ae45e3679af05342239cdc5bc8e
including the digest) or build your own as we may need to change the image format again in the future 😅
Images built for this release:
- 1.24:
kindest/node:v1.24.0@sha256:0866296e693efe1fed79d5e6c7af8df71fc73ae45e3679af05342239cdc5bc8e
- 1.23:
kindest/node:v1.23.6@sha256:b1fa224cc6c7ff32455e0b1fd9cbfd3d3bc87ecaa8fcb06961ed1afb3db0f9ae
- 1.22:
kindest/node:v1.22.9@sha256:8135260b959dfe320206eb36b3aeda9cffcb262f4b44cda6b33f7bb73f453105
- 1.21:
kindest/node:v1.21.12@sha256:f316b33dd88f8196379f38feb80545ef3ed44d9197dca1bfd48bcb1583210207
- 1.20:
kindest/node:v1.20.15@sha256:6f2d011dffe182bad80b85f6c00e8ca9d86b5b8922cdf433d53575c4c5212248
- 1.19:
kindest/node:v1.19.16@sha256:d9c819e8668de8d5030708e484a9fdff44d95ec4675d136ef0a0a584e587f65c
- 1.18:
kindest/node:v1.18.20@sha256:738cdc23ed4be6cc0b7ea277a2ebcc454c8373d7d8fb991a7fcdbd126188e6d7
NOTE: these node images support amd64 and arm64. It remains possible to build custom images for other architectures (see the docs).
Fixes
- fixed running kind with kubernetes v1.24.0+ on some non-systemd-based hosts
- setting migrated kubelet flags in kubelet config where possible, for now we set both the old flags and the config, in some future release we'll set only kubelet config where possible
- fixed kong ingress name in docs
Contributors
Thank you to everyone who contributed to this release! ❤️
Users whose commits are in this release (alphabetically by user name)
A special shoutout to these folks who helped report, test, and review the systemd cgroups fix:
And thank you very much to everyone else not listed here who contributed in other ways like filing issues, giving feedback, testing fixes, helping users in slack, etc. 🙏
v0.13.0
v0.13.0
is all about cgroups -- We're making the switch to the systemd cgroup driver to align with current Kubernetes container runtime recommendations and kubeadm defaults.
Breaking Changes
- systemd cgroups driver will be used for Kubernetes v1.24.0+ (rather than 1.21.0+ when kubeadm changed the default, which we previously overrode).
- NOTE: You must use kind v0.13.0+ with Kubernetes v1.24.0+ images, and if you built your own Kubernetes v1.24.0+ image
with a previous kind version you will need to re-built when switching to kind v0.13.0+. - NOTE:
You do not need to be using systemd on the host machine, systemd is used inside the kind node containers. We are now using it for Kubernetes pods in addition to running kubelet, containerd etc.- UPDATE: There is a bug on hosts that are (cgroupv1, not-systemd) #2765, a fix is pending and the next release will address this. See the linked issue for discussion and workarounds in the meantime.
- UPDATE: v0.14.0 is released with a fix for this bug. Upgrading should be the preferred solution, but if you need to use v0.13.0 for some reason, see the issue linked above for other workarounds.
- KIND will continue to use cgroupfs for Kubernetes versions prior to v1.24.0.
- NOTE: You must use kind v0.13.0+ with Kubernetes v1.24.0+ images, and if you built your own Kubernetes v1.24.0+ image
- The default node image is a Kubernetes
v1.24.0
image:kindest/node:v1.24.0@sha256:406fd86d48eaf4c04c7280cd1d2ca1d61e7d0d61ddef0125cb097bc7b82ed6a1
New Features
- Limited support for PPC64LE architecture (you will need to build your own node images)
kind export logs
now dumps a list of images on each node- Base image updates
- Containerd version 1.6.4
- CNI plugins 1.1.1
- kind binary built with Go 1.18
- General Go dependency updates
- registry.k8s.io is used as the primary mirror for k8s.gcr.io in kind nodes / image building
- If registry.k8s.io is not reachable, the node runtime is configured to fallback to k8s.gcr.io directly as the next endpoint
New Node images have been built for kind v0.13.0
, please use these exact images (IE like kindest/node:v1.24.0@sha256:406fd86d48eaf4c04c7280cd1d2ca1d61e7d0d61ddef0125cb097bc7b82ed6a1
including the digest) or build your own as we may need to change the image format again in the future 😅
Images built for this release:
- 1.24:
kindest/node:v1.24.0@sha256:406fd86d48eaf4c04c7280cd1d2ca1d61e7d0d61ddef0125cb097bc7b82ed6a1
- 1.23:
kindest/node:v1.23.6@sha256:1af0f1bee4c3c0fe9b07de5e5d3fafeb2eec7b4e1b268ae89fcab96ec67e8355
- 1.22:
kindest/node:v1.22.9@sha256:6e57a6b0c493c7d7183a1151acff0bfa44bf37eb668826bf00da5637c55b6d5e
- 1.21:
kindest/node:v1.21.12@sha256:ae05d44cc636ee961068399ea5123ae421790f472c309900c151a44ee35c3e3e
- 1.20:
kindest/node:v1.20.15@sha256:a6ce604504db064c5e25921c6c0fffea64507109a1f2a512b1b562ac37d652f3
- 1.19:
kindest/node:v1.19.16@sha256:dec41184d10deca01a08ea548197b77dc99eeacb56ff3e371af3193c86ca99f4
- 1.18:
kindest/node:v1.18.20@sha256:38a8726ece5d7867fb0ede63d718d27ce2d41af519ce68be5ae7fcca563537ed
NOTE: these node images support amd64 and arm64. It remains possible to build custom images for other architectures (see the docs).
Fixes
- In cgroup v1, unmount cgroups that are not supported by the runtime used to create nodes
- Pinned metallb to a stable version in documentation
Contributors
Thank you to everyone who contributed to this release! ❤️
Users whose commits are in this release (alphabetically by user name)
Contributors since v0.12.0:
v0.12.0
v0.12.0
has been focused on stability, with improvements and fixes for support rootless and cgroupsv2, and bringing support for s390x architectures.
Breaking Changes
- The default node image is a Kubernetes
v1.23.4
image:kindest/node:v1.23.4@sha256:0e34f0d0fd448aa2f2819cfd74e99fe5793a6e4938b328f657c8e3f81ee0dfb9
- The haproxy image used for multiple control-plane cluster is distroless now
New Features
- Pods running at different nodes have different product_uuid
- Support for s390x architectures
- Adapt kind to handle the label migration from node-role.kubernetes.io/master to node-role.kubernetes.io/control-plane
- Base image updates
- Containerd version 1.5.10
- Crictl 1.23.0
- CNI plugins 1.1.0
- Containerd containerd/fuse-overlayfs-snapshotter 1.0.4
New Node images have been built for kind v0.12.0
, please use these exact images (IE like kindest/node:v1.23.4@sha256:0e34f0d0fd448aa2f2819cfd74e99fe5793a6e4938b328f657c8e3f81ee0dfb9
including the digest) or build your own as we may need to change the image format again in the future 😅
Images built for this release:
- 1.23:
kindest/node:v1.23.4@sha256:0e34f0d0fd448aa2f2819cfd74e99fe5793a6e4938b328f657c8e3f81ee0dfb9
- 1.22:
kindest/node:v1.22.7@sha256:1dfd72d193bf7da64765fd2f2898f78663b9ba366c2aa74be1fd7498a1873166
- 1.21:
kindest/node:v1.21.10@sha256:84709f09756ba4f863769bdcabe5edafc2ada72d3c8c44d6515fc581b66b029c
- 1.20:
kindest/node:v1.20.15@sha256:393bb9096c6c4d723bb17bceb0896407d7db581532d11ea2839c80b28e5d8deb
- 1.19:
kindest/node:v1.19.16@sha256:81f552397c1e6c1f293f967ecb1344d8857613fb978f963c30e907c32f598467
- 1.18:
kindest/node:v1.18.20@sha256:e3dca5e16116d11363e31639640042a9b1bd2c90f85717a7fc66be34089a8169
- 1.17:
kindest/node:v1.17.17@sha256:e477ee64df5731aa4ef4deabbafc34e8d9a686b49178f726563598344a3898d5
- 1.16:
kindest/node:v1.16.15@sha256:64bac16b83b6adfd04ea3fbcf6c9b5b893277120f2b2cbf9f5fa3e5d4c2260cc
- 1.15:
kindest/node:v1.15.12@sha256:9dfc13db6d3fd5e5b275f8c4657ee6a62ef9cb405546664f2de2eabcfd6db778
- 1.14:
kindest/node:v1.14.10@sha256:b693339da2a927949025869425e20daf80111ccabf020d4021a23c00bae29d82
NOTE: these node images support amd64 and arm64 now. It remains possible to build custom images for other architectures (see the docs).
Fixes
- Enable sysctl route_localnet on node images to allow nodes dns to work
- Only mount /dev/fuse on rootless environments
- Fixed node labels assignments from configuration
- Fix docker+cgroup2+rootless initialization
- Fix sysbox runtime regression on docker in docker
- Fix support on distros without systemd and WSL2
- Fix kind load docker-image if all images are already present
Contributors
Thank you to everyone who contributed to this release! ❤️
Users whose commits are in this release (alphabetically by user name)
Contributors since v0.11.1:
- @AkihiroSuda
- @alfa-alex
- @amwat
- @aojea
- @atoato88
- @bagnaram
- @BenTheElder
- @chaodaiG
- @csams
- @dlipovetsky
- @enyineer
- @fedepaol
- @fenggw-fnst
- @flouthoc
- @fstrudel
- @gAmUssA
- @gotzmann
- @gprossliner
- @guirish
- @hs0210
- @jayonlau
- @jimangel
- @juniorjbn
- @k8s-ci-robot
- @kerthcet
- @knight42
- @KrisJohnstone
- @ktock
- @marcosnils
- @matzew
- @ml-
- @neolit123
- @networkop
- @oke-py
- @pchan
- @pmorch
- @PushkarJ
- @qinqon
- @rahulii
- @rikatz
- @sestegra
- @sethp
- @simon-geard
- @stevekuznetsov
- @stmcginnis
- @tao12345666333
- @tgeoghegan
- @valeneiko
- @vdjagilev
- @viveksyngh
- @wanlerong
- @xinydev
- @YuviGold
v0.11.1
v0.11.1
fixes a security vulnerability in runc <=1.0.0-rc94
For full release notes please see v0.11.0
New Features
- Base image updates
- Containerd sandbox image to pause v3.5
- Containerd version 1.5.2 / runc rc95
- Ubuntu 21.04
- Documented support for installing kind via macports.
New Node images have been built for kind v0.11.1
, please use these exact images (IE like kindest/node:v1.21.1@sha256:fae9a58f17f18f06aeac9772ca8b5ac680ebbed985e266f711d936e91d113bad
including the digest) or build your own as we may need to change the image format again in the future 😅
Images built for this release:
- 1.21:
kindest/node:v1.21.1@sha256:69860bda5563ac81e3c0057d654b5253219618a22ec3a346306239bba8cfa1a6
- 1.20:
kindest/node:v1.20.7@sha256:cbeaf907fc78ac97ce7b625e4bf0de16e3ea725daf6b04f930bd14c67c671ff9
- 1.19:
kindest/node:v1.19.11@sha256:07db187ae84b4b7de440a73886f008cf903fcf5764ba8106a9fd5243d6f32729
- 1.18:
kindest/node:v1.18.19@sha256:7af1492e19b3192a79f606e43c35fb741e520d195f96399284515f077b3b622c
- 1.17:
kindest/node:v1.17.17@sha256:66f1d0d91a88b8a001811e2f1054af60eef3b669a9a74f9b6db871f2f1eeed00
- 1.16:
kindest/node:v1.16.15@sha256:83067ed51bf2a3395b24687094e283a7c7c865ccc12a8b1d7aa673ba0c5e8861
- 1.15:
kindest/node:v1.15.12@sha256:b920920e1eda689d9936dfcf7332701e80be12566999152626b2c9d730397a95
- 1.14:
kindest/node:v1.14.10@sha256:f8a66ef82822ab4f7569e91a5bccaf27bceee135c1457c512e54de8c6f7219f8
Additionally the following image is known to work well:
- 1.22:
kindest/node:v1.22.0@sha256:b8bda84bb3a190e6e028b1760d277454a72267a5454b57db34437c34a588d047
- 1.23:
kindest/node:v1.23.0@sha256:49824ab1727c04e56a21a5d8372a402fcd32ea51ac96a2706a12af38934f81ac
NOTE: these node images support amd64 and arm64 now. It remains possible to build custom images for other architectures (see the docs).
v0.11.0
v0.11.0
brings in much sought after support for multi-arch, rootless, dual stack along with a couple of performance fixes.
Breaking Changes
- The default node image is a Kubernetes
v1.21.1
image:kindest/node:v1.21.1@sha256:fae9a58f17f18f06aeac9772ca8b5ac680ebbed985e266f711d936e91d113bad
- Dropped support for building node images with bazel going forward as part of reducing the build maintenance for Kubernetes. The
--type
flag is deprecated. - The
kind build node-image
--kube-root
flag is deprecated in favor of an argument, using the flag will print a warning. In a future release the flag will be removed.
New Features
kind build node-image
now supports--arch
for cross compiling node images- pre-built node images now support arm64 in addition to amd64 (they are multi-arch)
- Support for running kind with cgroupv2, rootless docker and rootless podman. Please checkout our guide at https://kind.sigs.k8s.io/docs/user/rootless/
- kindnetd supports dual-stack networking now enabled by default since kubernetes v1.21
- Internal kubeconfig is now automatically exposed on the control plane nodes for in-cluster access.
New Node images have been built for kind v0.11.0
, please use these exact images (IE like kindest/node:v1.21.1@sha256:fae9a58f17f18f06aeac9772ca8b5ac680ebbed985e266f711d936e91d113bad
including the digest) or build your own as we may need to change the image format again in the future 😅
Images built for this release:
- 1.21:
kindest/node:v1.21.1@sha256:fae9a58f17f18f06aeac9772ca8b5ac680ebbed985e266f711d936e91d113bad
- 1.20:
kindest/node:v1.20.7@sha256:e645428988191fc824529fd0bb5c94244c12401cf5f5ea3bd875eb0a787f0fe9
- 1.19:
kindest/node:v1.19.11@sha256:7664f21f9cb6ba2264437de0eb3fe99f201db7a3ac72329547ec4373ba5f5911
- 1.18:
kindest/node:v1.18.19@sha256:530378628c7c518503ade70b1df698b5de5585dcdba4f349328d986b8849b1ee
- 1.17:
kindest/node:v1.17.17@sha256:c581fbf67f720f70aaabc74b44c2332cc753df262b6c0bca5d26338492470c17
- 1.16:
kindest/node:v1.16.15@sha256:430c03034cd856c1f1415d3e37faf35a3ea9c5aaa2812117b79e6903d1fc9651
- 1.15:
kindest/node:v1.15.12@sha256:8d575f056493c7778935dd855ded0e95c48cb2fab90825792e8fc9af61536bf9
- 1.14:
kindest/node:v1.14.10@sha256:6033e04bcfca7c5f2a9c4ce77551e1abf385bcd2709932ec2f6a9c8c0aff6d4f
NOTE: these node images support amd64 and arm64 now. It remains possible to build custom images for other architectures (see the docs).
Fixes
- handle Kubernetes / kubeadm 1.21 breaking cgroups config change.
- kindnetd now tolerates
NoSchedule
- Fixed kube-proxy CrashLoops by skipping setting
nf_conntrack_max
- Fixed an issue with SIGPIPE errors sometimes failing node startup
kind export logs
now only exports the version once instead of per nodekind export logs
always prints export path even if some logs fail to save- Fixed a bug where kubeadmConfigPatches weren't merging correctly with generated arguments.
- Fixed base image build potentially breaking due to file permissions being affected by
umask
settings on the host. - Improved podman support for custom portmaps and zfs, btrfs storage drivers.
- Fixes for zfs, btrfs storage drivers on docker
Contributors
Thank you to everyone who contributed to this release! ❤️
Users whose commits are in this release (alphabetically by user name)
v0.10.0
In v0.10.0
the most important changes we're "shipping" are about improving sustainability:
- Doubled the set of project owners, granting @aojea & @amwat full access to help maintain the project.
A huge thank you to them for their existing contributions and for stepping up here ❤️ - Rewritten and revamped contributor guide https://kind.sigs.k8s.io/docs/contributing/getting-started/
Additionally we're trying a new approach to tracking priorities for v0.11.0 which you can see in our issue tracker.
Otherwise we've made a number of bug fixes and minor improvements.
Some users may appreciate the ability to run kind v0.10.0 (NOT the currently installed v0.7.0) in the free Google Cloud Shell for quick demos, workshops, etc.
Simply install kind somewhere under $HOME and add it to your $PATH to use it in cloud shell:
GO111MODULE=on go get sigs.k8s.io/[email protected]
export PATH="$(go env GOPATH)/bin:${PATH}"
kind create cluster
To persist this PATH
for future usage you can edit your $HOME/.bashrc
in cloudshell.
Breaking Changes
- The default node image is a Kubernetes
v1.20.2
image:kindest/node:v1.20.2@sha256:8f7ea6e7642c0da54f04a7ee10431549c0257315b3a634f6ef2fecaaedb19bab
- We're only actively supporting Kubernetes
v1.14.0
+, however limited best effort functionality still encompasesv1.13.0
for now. - Images from KIND
v0.8.0+
should continue to work for now, but lack various improvements. - udev is explicitly disabled at the node level, though as always please try not to depend on the inner details of nodes beyond providing a particular Kubernetes version with kind
- IPv6 pod subnet defaults to /56 instead of /64 (a necessary fix for newer Kubernetes, see #1903)
New Features
kind export logs
now includes the kind version- Node images compiled without dockershim for Kubernetes v1.19+ possible, reducing size
- Reduced kind binary size further (~7MB) with improved build options
- Improved zsh completion
- Experimental github actions CI for podman, docker, cgroupsv2
- Expanded WSL2 documentation
- Revamped contributor guide
- Improved docs site implementation, including table of contents generation
- Updated dependencies
- New Loadbalancer user guide
- Better support for running in nested container environments when using images built with v0.10.0+
- This enables cloud shell support
New Node images have been built for kind v0.10.0
, please use these exact images (IE like v1.20.2:@sha256:8f7ea6e7642c0da54f04a7ee10431549c0257315b3a634f6ef2fecaaedb19bab
including the digest) or build your own as we may need to change the image format again in the future 😅
Images built for this release:
- 1.20:
kindest/node:v1.20.2@sha256:8f7ea6e7642c0da54f04a7ee10431549c0257315b3a634f6ef2fecaaedb19bab
- 1.19:
kindest/node:v1.19.7@sha256:a70639454e97a4b733f9d9b67e12c01f6b0297449d5b9cbbef87473458e26dca
- 1.18:
kindest/node:v1.18.15@sha256:5c1b980c4d0e0e8e7eb9f36f7df525d079a96169c8a8f20d8bd108c0d0889cc4
- 1.17:
kindest/node:v1.17.17@sha256:7b6369d27eee99c7a85c48ffd60e11412dc3f373658bc59b7f4d530b7056823e
- 1.16:
kindest/node:v1.16.15@sha256:c10a63a5bda231c0a379bf91aebf8ad3c79146daca59db816fb963f731852a99
- 1.15:
kindest/node:v1.15.12@sha256:67181f94f0b3072fb56509107b380e38c55e23bf60e6f052fbd8052d26052fb5
- 1.14:
kindest/node:v1.14.10@sha256:3fbed72bcac108055e46e7b4091eb6858ad628ec51bf693c21f5ec34578f6180
Fixes
- Fixed development scripts when CDPATH is in use
- Fixed building node images with bazel when CWD is not within the source directory
- Disabled fancy terminal output when in
st
(see #1924) - Fixed various typos
- Improved cgroups handling
- Improved some error messages
Contributors
Thank you to everyone who contributed to this release! ❤️
Users whose commits are in this release (alphabetically by user name)
v0.9.0
v0.9.0
Focuses on stability enhancements following v0.8.0
/ v0.8.1
, a new wave of features will ship in v0.10.0
.
Breaking changes have been kept to a minimum, primarily that Kubernetes v1.12.X
is no longer supported to make way for some fixes requiring beta-grade kubeadm
.
Breaking Changes
- The default node image is a Kubernetes
v1.19.1
image:kindest/node:v1.19.1@sha256:98cf5288864662e37115e362b23e4369c8c4a408f99cbc06e58ac30ddc721600
- Node images built with kind
v0.9.0
require using kindv0.9.0+
.- These images should mostly work with older releases but may not work offline.
- Images from kind
v0.8.0+
should still work but lack some internal improvements
- Support has been dropped for Kubernetes older than
v1.13.0
.- A detailed support policy is in the works. The Kubernetes project only supports
v1.16+
currently. - UPDATE: Kubernetes
v1.14+
is required for multi-node clusters. See #1744 (comment)
- A detailed support policy is in the works. The Kubernetes project only supports
- Building Kubernetes with bazel will only work with Kubernetes
v1.15+
- Building without bazel still works back to
v1.13.0
- Building without bazel still works back to
v1alpha3
kind config is no longer supported. Please upgrade tov1alpha4
(which was already the current version in previous releases)- Capital letters in cluster names are explicitly rejected by kind, in order to prevent encountering upstream issues with name validation
UPDATE: If you are hitting label key and value greater than maximum size (4096 bytes), key: containerd: invalid argument
(containerd/cri#1572), then try the following KIND config:
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
containerdConfigPatches:
- |-
[plugins."io.containerd.grpc.v1.cri".containerd]
disable_snapshot_annotations = true
See: https://kind.sigs.k8s.io/docs/user/configuration/#getting-started for how to use a KIND config file.
New Features
- NFS volumes should now work
- Kubernetes RuntimeConfig is now first class in kind config
- Upgraded dependencies across the board
- Nodes now have a tenative providerID value set. We commit to the
kind://
prefix but the rest of the contents may change. - The base image is tentatively multi-arch by default. The node image is still not as of yet.
- More values are automatically included in
no_proxy
when proxies are detected - The default CNI shoult automatically match MTU to the underlying bridge
- Binaries are now stripped of debugger (not stacktrace) info for smaller binaries
New Node images have been built for kind v0.9.0
, please use these exact images (IE like v1.19.1:@sha256:98cf5288864662e37115e362b23e4369c8c4a408f99cbc06e58ac30ddc721600
including the digest) or build your own as we may need to change the image format again in the future 😅
Images built for this release:
- 1.19:
kindest/node:v1.19.1@sha256:98cf5288864662e37115e362b23e4369c8c4a408f99cbc06e58ac30ddc721600
- 1.18:
kindest/node:v1.18.8@sha256:f4bcc97a0ad6e7abaf3f643d890add7efe6ee4ab90baeb374b4f41a4c95567eb
- 1.17:
kindest/node:v1.17.11@sha256:5240a7a2c34bf241afb54ac05669f8a46661912eab05705d660971eeb12f6555
- 1.16:
kindest/node:v1.16.15@sha256:a89c771f7de234e6547d43695c7ab047809ffc71a0c3b65aa54eda051c45ed20
- 1.15:
kindest/node:v1.15.12@sha256:d9b939055c1e852fe3d86955ee24976cab46cba518abcb8b13ba70917e6547a6
- 1.14:
kindest/node:v1.14.10@sha256:ce4355398a704fca68006f8a29f37aafb49f8fc2f64ede3ccd0d9198da910146
- 1.13:
kindest/node:v1.13.12@sha256:1c1a48c2bfcbae4d5f4fa4310b5ed10756facad0b7a2ca93c7a4b5bae5db29f5
Fixes
- Limited fixes related to HA mode and restart support
- Fixed issues with ipv6 network overlap
- Fixed bugs with NO_PROXY generation
- Mitigated issues with concurrent cluster creation on clean hosts
- KUBECONFIG writing has retries to mitigate concurrency / locking issues
- Docker data root on ZFS should be fixed
- Fixed building with bazel in kubernetes 1.20 development
- Implemented assorted workarounds for breaking bugs in podman v2.X
- Upstream CNI fixes identified by the project have been upstreamed and picked up to mitigate excessive iptables calls in testing
- Replaced broken component IP auto-detection with explicit addresses to work around upstream Kubernetes limitations (pending an agreement on how to move forward upstream)
- Fixed some issues with userns-remap support
- Fixed port forwarding in some cases
Contributors
Thanks again to everyone who contributed to this release! ❤️
Users whose commits are in this release (alphabetically by user name)
- @afbjorklund
- @aledbf
- @amwat
- @aojea
- @babilen5
- @BenTheElder
- @damdo
- @dims
- @ericsyh
- @faiq
- @giuseppe
- @HadesArchitect
- @Hellcatlk
- @inercia
- @izzyleung
- @jayunit100
- @k8s-ci-robot
- @liggitt
- @MaXinjian
- @MaxRenaud
- @mikedanese
- @oomichi
- @peteroneilljr
- @prasadkatti
- @rcarrillocruz
- @rikatz
- @SataQiu
- @sozercan
- @steigr
- @tao12345666333
- @vdice
- @yashbhutwala
- @zhijianli88
v0.8.1
This is a tiny patch release to pick up the fix for Can't create ipv4 clusters if ipv6 is disabled at kernel level.
For full release notes please see v0.8.0.
Most users will not need to upgrade to this release, this bug is only known to occur on hosts with the ipv6.disable=1
kernel parameter.