kubernetes-sigs/kind (kind)
This release contains dependency updates and defaults to Kubernetes 1.35.0.
Please take note of the breaking changes from Kubernetes 1.35, and how to prepare for future changes to move off of the deprecated kubeam v1beta3 in favor of v1beta4. We will include updated reminders for both again in subsequent releases.
Breaking Changes
The default node image is now kindest/node:v1.35.0@​sha256:452d707d4862f52530247495d180205e029056831160e22870e37e3f6c1ac31f
Kubernetes 1.35+ Cgroup v1
Kubernetes will be removing cgroup v1 support, and therefore kind node images at those versions will also be dropping support.
You can read more about this change in the Kubernetes release blog: https://kubernetes.io/blog/2025/12/17/kubernetes-v1-35-release/#removal-of-cgroup-v1-support
If you must use kind on cgroup v1, we recommend using an older Kubernetes release for the immediate future, but we also strongly recommend migrating to cgroup v2.
In the near future as Kubernetes support dwindles, KIND will also clean up cgroup v1 workarounds and drop support in future kind releases and images, regardless of Kubernetes version.
Most stable linux distros should be on cgroupv2 out of the box.
This is a reminder to use pinned images by digest, see the note below about images for this release.
Kubeadm Config *Future* Breaking Change
WARNING: Future kind releases will adopt kubeadm v1beta4 configuration, kubeadm v1beta4 has a breaking change to extraArgs: https://kubernetes.io/blog/2024/08/23/kubernetes-1-31-kubeadm-v1beta4/.
If you use the kubeadmConfigPatches feature then you may need to prepare for this change.
We recommend that you use versioned config patches that explicitly match the version required.
KIND uses kubeadm v1beta3 for Kubernetes 1.23+, and will likely use v1beta4 for Kubernetes 1.36+
The exact version is TBD pending work to fix this but expected to be 1.36.
It will definitely be an as-of-yet-unreleased Kubernetes version to avoid surprises, and it will not be on a patch-release boundary.
KIND may still work with older Kubernetes versions at v1beta2, but we no longer test or actively support these as Kubernetes only supports 1.32+ currently: https://kubernetes.io/releases/
You likely only need v1beta3 + v1beta4 patches, you can take your existing patches that work with v1beta3, explicitly set apiVersion: kubeadm.k8s.io/v1beta3 in the patch at the top level, and make another copy for v1beta4. The v1beta4 patch will need to move extraArgs from a map to a list, for examples see: https://kubernetes.io/docs/reference/config-api/kubeadm-config.v1beta4/
For a concrete example of kind config with kubeadm config patch targeting both v1beta3 and v1beta4, consider this simple kind config that sets verbosity of the apiserver logs:
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
kubeadmConfigPatches:
# patch for v1beta3 (1.23 ...)
- |
kind: ClusterConfiguration
apiVersion: kubeadm.k8s.io/v1beta3
apiServer:
extraArgs:
"v": "4"
# patch for v1beta4 (future)
- |
kind: ClusterConfiguration
apiVersion: kubeadm.k8s.io/v1beta4
apiServer:
extraArgs:
- name: "v"
value: "4"
If you only need to target a particular release, you can use one version.
If you only need to target fields that did not change between kubeadm beta versions, you can use a versionless patch, which may be more convenient, but we cannot guarantee there will be no future kubeadm config breaking changes.
New Features
- Assorted unspecified dependency updates
Images pre-built for this release:
- v1.35.0:
kindest/node:v1.35.0@​sha256:452d707d4862f52530247495d180205e029056831160e22870e37e3f6c1ac31f
- v1.34.3:
kindest/node:v1.34.3@​sha256:08497ee19eace7b4b5348db5c6a1591d7752b164530a36f855cb0f2bdcbadd48
- v1.33.7:
kindest/node:v1.33.7@​sha256:d26ef333bdb2cbe9862a0f7c3803ecc7b4303d8cea8e814b481b09949d353040
- v1.32.11:
kindest/node:v1.32.11@​sha256:5fc52d52a7b9574015299724bd68f183702956aa4a2116ae75a63cb574b35af8
- v1.31.14:
kindest/node:v1.31.14@​sha256:6f86cf509dbb42767b6e79debc3f2c32e4ee01386f0489b3b2be24b0a55aac2b
NOTE: You must use the @sha256 digest to guarantee an image built for this release, until such a time as we switch to a different tagging scheme. Even then we will highly encourage digest pinning for security and reproducibility reasons.
See also:
NOTE: These node images support amd64 and arm64, both of our supported platforms. You must use the same platform as your host, for more context see #2718
Fixes
- Detect additional edge case with ipv6 support on the host
- Make development / release scripts GOTOOLCHAIN aware
Contributors
Committers for this release:
This is small release containing patched dependencies and Kubernetes 1.34, as well as a bugfix for Kubernetes v1.33.0+ cluster reboots.
Breaking Changes
The default node image is now kindest/node:v1.34.0@​sha256:7416a61b42b1662ca6ca89f02028ac133a309a2a30ba309614e8ec94d976dc5a
New Features
- Updated to containerd 2.1.4
Images pre-built for this release:
- v1.34.0:
kindest/node:v1.34.0@​sha256:7416a61b42b1662ca6ca89f02028ac133a309a2a30ba309614e8ec94d976dc5a
- v1.33.4:
kindest/node:v1.33.4@​sha256:25a6018e48dfcaee478f4a59af81157a437f15e6e140bf103f85a2e7cd0cbbf2
- v1.32.8:
kindest/node:v1.32.8@​sha256:abd489f042d2b644e2d033f5c2d900bc707798d075e8186cb65e3f1367a9d5a1
- v1.31.12:
kindest/node:v1.31.12@​sha256:0f5cc49c5e73c0c2bb6e2df56e7df189240d83cf94edfa30946482eb08ec57d2
NOTE: You must use the @sha256 digest to guarantee an image built for this release, until such a time as we switch to a different tagging scheme. Even then we will highly encourage digest pinning for security and reproducibility reasons.
See also:
NOTE: These node images support amd64 and arm64, both of our supported platforms. You must use the same platform as your host, for more context see #2718
Fixes
- Fix an issue with rebooting v1.33.0+ clusters #3941
- Add priority class system-critical to kindnetd
- Fix HA control-plane loadbalancer for podman #3962
- Fix node-image builds with relative source paths
Contributors
Committers for this release:
This is a quick security release to pickup the containerd 2.1.1 CVE-2025-47290 fix.
See v0.28.0 (release days ago!) for full release notes with recent changes:
https://github.com/kubernetes-sigs/kind/releases/tag/v0.28.0
Breaking Changes
The default node image is now kindest/node:v1.33.1@​sha256:050072256b9a903bd914c0b2866828150cb229cea0efe5892e2b644d5dd3b34f
New Features
- Updated to containerd 2.1.1
Images pre-built for this release:
- v1.33.1:
kindest/node:v1.33.1@​sha256:050072256b9a903bd914c0b2866828150cb229cea0efe5892e2b644d5dd3b34f
- v1.32.5:
kindest/node:v1.32.5@​sha256:e3b2327e3a5ab8c76f5ece68936e4cafaa82edf58486b769727ab0b3b97a5b0d
- v1.31.9:
kindest/node:v1.31.9@​sha256:b94a3a6c06198d17f59cca8c6f486236fa05e2fb359cbd75dabbfc348a10b211
- v1.30.13:
kindest/node:v1.30.13@​sha256:397209b3d947d154f6641f2d0ce8d473732bd91c87d9575ade99049aa33cd648
NOTE: You must use the @sha256 digest to guarantee an image built for this release, until such a time as we switch to a different tagging scheme. Even then we will highly encourage digest pinning for security and reproducibility reasons.
See also:
NOTE: These node images support amd64 and arm64, both of our supported platforms. You must use the same platform as your host, for more context see #2718
Fixes
Contributors
Committers for this release:
(Please see v0.28.0 https://github.com/kubernetes-sigs/kind/releases/tag/v0.28.0#Contributors)
This release moves kind to containerd 2.x and contains fixes for nerdctl. It also moves Kubernetes to 1.32.2 by default.
Breaking Changes
WARNING: kind v0.27.0+ will be required to use kind load ... subcommands with these new containerd 2.0+ images (built by kind v0.27+). For other use cases, the new images should still work with recent kind releases, but are not guaranteed. As always we strongly recommend consuming images by their sha256 digest for security and reliability. #3853
Older images from recent releases should continue to work with kind v0.27.0+.
NOTE: As previously warned containerd 2.x requires that you must be using config_path mode for containerd registry config. If you're using the local registry script at, or more recent than 791b3dc (kind v0.20.0 / May 22, 2023) then no changes should be necessary.
The default node image is now kindest/node:v1.32.2@​sha256:f226345927d7e348497136874b6d207e0b32cc52154ad8323129352923a3142f
New Features
- Updated to containerd 2.x
- Updated default node image to Kubernetes 1.32.2
- Updated go to 1.23.6
Images pre-built for this release:
- v1.32.2:
kindest/node:v1.32.2@​sha256:f226345927d7e348497136874b6d207e0b32cc52154ad8323129352923a3142f
- v1.31.6:
kindest/node:v1.31.6@​sha256:28b7cbb993dfe093c76641a0c95807637213c9109b761f1d422c2400e22b8e87
- v1.30.10:
kindest/node:v1.30.10@​sha256:4de75d0e82481ea846c0ed1de86328d821c1e6a6a91ac37bf804e5313670e507
- v1.29.14:
kindest/node:v1.29.14@​sha256:8703bd94ee24e51b778d5556ae310c6c0fa67d761fae6379c8e0bb480e6fea29
Additional images pre-built for this release:
- v1.33.0:
kindest/node:v1.33.0@​sha256:02f73d6ae3f11ad5d543f16736a2cb2a63a300ad60e81dac22099b0b04784a4e
NOTE: You must use the @sha256 digest to guarantee an image built for this release, until such a time as we switch to a different tagging scheme. Even then we will highly encourage digest pinning for security and reproducibility reasons.
See also:
NOTE: These node images support amd64 and arm64, both of our supported platforms. You must use the same platform as your host, for more context see #2718
Fixes
- Compatibility fixes for containerd 2.x
- Fix
kind get clusters with nerdctl
- Statically link CNI binaries to match upstream
- Fix no-arguments validation for multiple subcommands
- Update shellescape dependency to current vanity import
- When building node images: wait for containerd to be ready, and retry image pulls
Contributors
Thank you to everyone who contributed to this kind over the years!
Committers for this release:
This release brings Kubernetes v1.32.0 to kind by default and fixes kind build node-image for building for Kubernetes releases <v1.31.0 when not building Kubernetes from source (e.g. kind build node-image v1.30.0).
Breaking Changes
- Removed two deprecated flags that had been printing usage warnings for many releases.
- Removed long-deprecated
--kube-root flag from kind build node-image, use --type=source and pass the path as an argument instead.
- Removed long-deprecated
--loglevel flag, use -v / --verbosity instead (see kind help)
- The default node image is now Kubernetes v1.32.0:
kindest/node:v1.32.0@​sha256:c48c62eac5da28cdadcf560d1d8616cfa6783b58f0d94cf63ad1bf49600cb027
New Features
- Updated to go 1.23.4
- Updated node image dependencies to latest
- NOTE: you should only be depending on node images to allow kind to create Kubernetes nodes at a given Kubernetes version. The contents of these images are subject to change. However, we have brought everything up to the latest releases which may contain bug fixes.
- Updated local-path-provisioner to v0.30.0
- Refreshed Ingres docs to use https://sigs.k8s.io/cloud-provider-kind
Images pre-built for this release:
- v1.32.0:
kindest/node:v1.32.0@​sha256:c48c62eac5da28cdadcf560d1d8616cfa6783b58f0d94cf63ad1bf49600cb027
- v1.31.4:
kindest/node:v1.31.4@​sha256:2cb39f7295fe7eafee0842b1052a599a4fb0f8bcf3f83d96c7f4864c357c6c30
- v1.30.8:
kindest/node:v1.30.8@​sha256:17cd608b3971338d9180b00776cb766c50d0a0b6b904ab4ff52fd3fc5c6369bf
- v1.29.12:
kindest/node:v1.29.12@​sha256:62c0672ba99a4afd7396512848d6fc382906b8f33349ae68fb1dbfe549f70dec
NOTE: You must use the @sha256 digest to guarantee an image built for this release, until such a time as we switch to a different tagging scheme. Even then we will highly encourage digest pinning for security and reproducibility reasons.
See also:
NOTE: These node images support amd64 and arm64, both of our supported platforms. You must use the same platform as your host, for more context see #2718
Fixes
- Fixed
kind build node-image --type=url and kind build node-image --type=release where Kubernetes version is less than v1.31.0
- E.G.
kind build node-image v1.30.0 and kind build node-image https://dl.k8s.io/v1.30.0/kubernetes-server-linux-arm64.tar.gz
- This fix will only work for standard release tags (and not pre-releases etc), for those continue to use
--type=source.
- v1.31.0+ will work with all build types for all versions
Contributors
Thank you to everyone who contributed to this kind over the years!
Commiters for this release:
This release contains a number of small networking fixes and the latest Kubernetes releases. Happy KubeCon!
Breaking Changes
- The default node image is now Kubernetes v1.31.2:
kindest/node:v1.31.2@​sha256:18fbefc20a7113353c7b75b5c869d7145a6abd6269154825872dc59c1329912e
New Features
- Improved documentation for Ingress installation
- Updated to latest go 1.22.x (1.22.9)
Images pre-built for this release:
- v1.31.2:
kindest/node:v1.31.2@​sha256:18fbefc20a7113353c7b75b5c869d7145a6abd6269154825872dc59c1329912e
- v1.30.6:
kindest/node:v1.30.6@​sha256:b6d08db72079ba5ae1f4a88a09025c0a904af3b52387643c285442afb05ab994
- v1.29.10:
kindest/node:v1.29.10@​sha256:3b2d8c31753e6c8069d4fc4517264cd20e86fd36220671fb7d0a5855103aa84b
- v1.28.15:
kindest/node:v1.28.15@​sha256:a7c05c7ae043a0b8c818f5a06188bc2c4098f6cb59ca7d1856df00375d839251
- v1.27.16:
kindest/node:v1.27.16@​sha256:2d21a61643eafc439905e18705b8186f3296384750a835ad7a005dceb9546d20
- v1.26.15:
kindest/node:v1.26.15@​sha256:c79602a44b4056d7e48dc20f7504350f1e87530fe953428b792def00bc1076dd
Additional images pre-built for this release:
- v1.32.0:
kindest/node:v1.32.0@​sha256:2458b423d635d7b01637cac2d6de7e1c1dca1148a2ba2e90975e214ca849e7cb
NOTE: You must use the @sha256 digest to guarantee an image built for this release, until such a time as we switch to a different tagging scheme. Even then we will highly encourage digest pinning for security and reproducibility reasons.
See also:
NOTE: These node images support amd64 and arm64, both of our supported platforms. You must use the same platform as your host, for more context see #2718
Fixes
- Updated kube-network-policies with a DNS fix for network policies
- Fix conflict with developing kube-network-policies
- Detect new docker ipv6 failure message and fallback to ipv4 only gracefully
- Workaround podman no longer returning host IP for portmaps
- Aggregate ipmasq sync errors in kindnetd
Contributors
Thank you to everyone who contributed to this release!
Users whose commits are in this release (alphabetically by user name)
Uh oh!
There was an error while loading. Please reload this page.
This PR contains the following updates:
latest→1.11.3latest→0.9.0latest→20.10.26latest→1.4.31.25.1→1.25.52.4.0→2.8.0latest→1.8.1latest→0.31.0latest→1.35.0latest→3.10.0latest→0.2.14latest→0.6.0latest→3.4.1Release Notes
tilt-dev/ctlptl (ctlptl)
v0.9.0Changelog
e1d485e: Update version numbers: 0.8.44 (@dev-errant)c2d4b7d: lint: update linter for consistency with tilt (#395) (@nicks)2ff1ce9: vendor: upgrade to docker29 (#396) (@nicks)v0.8.44Changelog
543f470: Update version numbers: 0.8.43 (@dev-errant)d738fc6: cluster: add kind 0.31 support (#393) (@nicks)v0.8.43Changelog
ed6a3f8: Update version numbers: 0.8.42 (@dev-errant)73bdc32: vendor: updates for kind v0.30 (#392) (@nicks)v0.8.42Changelog
64bd615: Update version numbers: 0.8.41 (@dev-errant)cd14c9f: cluster: add kind29 support (#388) (@nicks)51ad3f5: deps: update golangci-lint (#386) (@nicks)3856fd4: go.mod: update deps (#385) (@nicks)v0.8.41Changelog
f1a9eef: Update version numbers: 0.8.40 (@dev-errant)dc6b7f5: build(deps): bump golang.org/x/net from 0.36.0 to 0.38.0 (#382) (@dependabot[bot])30525ba: cluster: support for kind 0.28 (#384) (@nicks)v0.8.40Changelog
74b0f21: Update version numbers: 0.8.39 (@dev-errant)b775706: build(deps): bump golang.org/x/net from 0.33.0 to 0.36.0 (#378) (@dependabot[bot])1a2f71b: golang: update to 1.24 (#380) (@nicks)9ab97f0: k3d: update v1alpha5 api (#381) (@nicks)v0.8.39Changelog
45cb5d5: Update version numbers: 0.8.38 (@dev-errant)22c59b9: cluster: add support for kind 0.27 (#377) (@nicks)v0.8.38Changelog
6e38454: Update version numbers: 0.8.37 (@dev-errant)c6b239b: [feat] pull-through caching/proxying for images (#370) (@DerekTBrown)49b6f28: build(deps): bump golang.org/x/crypto from 0.25.0 to 0.31.0 (#374) (@dependabot[bot])d60184a: build(deps): bump golang.org/x/net from 0.30.0 to 0.33.0 (#375) (@dependabot[bot])835f4a6: makefile: add automation around updating the circleci image (#372) (@nicks)7196546: vendor: k8s (#373) (@nicks)v0.8.37Changelog
5282f72: Update version numbers: 0.8.36 (@dev-errant)e5f6a67: [feat] support passing extra args to kind (#362) (@DerekTBrown)a39dddc: cluster: update to kind 1.26 (#371) (@nicks)v0.8.36Changelog
866b7ef: Update version numbers: 0.8.35 (@dev-errant)6ad4ab6: cluster: update to kind 1.25 (#367) (@nicks)v0.8.35Changelog
6b3b290: Update version numbers: 0.8.34 (@dev-errant)438c182: hack: update deepcopy-gen (#364) (@nicks)6d1c291: registry: improve error handling on port status (#365) (@nicks)v0.8.34Changelog
9322297: Remove deprecated version of docker/reference as its conflicting with a helm client library (#359) (@xocasdashdash)ba403df: Update version numbers: 0.8.33 (@dev-errant)968699d: dd: add?format=groupedparameter to /app/settings (#360) (@nicksieger)v0.8.33Changelog
e6b8e2a: Update version numbers: 0.8.32 (@dev-errant)4ffc924: kind: fix setup on HA clusters (#357) (@nicks)8d20d87: vendor: update to k8s 1.31 (#354) (@nicks)v0.8.32Changelog
b92b2b4: Update version numbers: 0.8.31 (@dev-errant)6e3411a: updates for kind 24 (#353) (@nicks)v0.8.31Changelog
38d3999: Update version numbers: 0.8.30 (@dev-errant)2efe977: vendor: docker v27 (#351) (@nicks)v0.8.30Changelog
5857103: Update version numbers: 0.8.29 (@dev-errant)b9c0b12: registry: tweak how desired image is reconciled (#345) (@nicks)55313db: vendor: docker libs (#348) (@nicks)4d57715: vendor: k8s 1.30 (#349) (@nicks)v0.8.29Changelog
abff82b: Update version numbers: 0.8.28 (@dev-errant)7b392f5: build(deps): bump github.com/docker/docker (#335) (@dependabot[bot])850a12a: build(deps): bump golang.org/x/net from 0.19.0 to 0.23.0 (#337) (@dependabot[bot])6d36df7: build(deps): bump google.golang.org/protobuf from 1.31.0 to 1.33.0 (#334) (@dependabot[bot])cfdecab: cluster: add support for kind v0.23.0 (#343) (@nicks)172b68f: goreleaser: fix deprecations (#342) (@nicks)v0.8.28Changelog
af6f3ce: Update version numbers: 0.8.27 (@dev-errant)ddd1ac7: dockerfile: update how we install kubectl, docker clis (#332) (@nicks)v0.8.27Changelog
9a6da7c: Update version numbers: 0.8.26 (@dev-errant)dcbcd9a: cluster: add kind v0.22 images (#330) (@nicks)6a7d2aa: k3d: add support for config v1alpha5 (#329) (@nicks)v0.8.26Changelog
7ba703b: Update version numbers: 0.8.25 (@dev-errant)bb54c11: build(deps): bump golang.org/x/crypto from 0.14.0 to 0.17.0 (#325) (@dependabot[bot])2eaf424: cluster: add support for kind v0.21 (#328) (@nicks)52de2ed: vendor: update k8s libs (#327) (@nicks)v0.8.25Changelog
bed989a: Update version numbers: 0.8.24 (@dev-errant)4eeafc1: cluster: unify minikube and kind registry configs (#322) (@nicks)226851c: cluster: update kind to use new containerd patch format (#321) (@nicks)v0.8.24Changelog
1eebafa: Revert "cluster: update kind to use new containerd patch format (#314)" (#320) (@nicks)0a01b9a: Update version numbers: 0.8.23 (@dev-errant)v0.8.22Changelog
8ca4793: Update version numbers: 0.8.21 (@dev-errant)a1d6c93: cmd: clean up printer implementations (#308) (@nicks)v0.8.21Changelog
8cce1bc: Update version numbers: 0.8.20 (@dev-errant)ad3f96e: dctr: adjust how CLI is loaded (#304) (@nicks)fc87b38: docker: pass credentials to image pull (#306) (@nicks)099d599: go: update to 1.21 (#305) (@nicks)96f78bc: goreleaser: fix some deprecations (#297) (@nicks)7b17159: vendor: upgrade to docker v24 (#302) (@nicks)v0.8.20Changelog
7bbc196: Update version numbers: 0.8.19 (@dev-errant)7469bc8: cluster: update for kind release v0.20.0 (#294) (@nicks)v0.8.19Changelog
0ab5b8b: Update version numbers: 0.8.18 (@dev-errant)a40b2c5: add 1.27 to v0.18.0 (#287) (@mtbarta)e78edf9: build(deps): bump github.com/docker/distribution (#289) (@dependabot[bot])59473e5: build(deps): bump github.com/docker/docker (#285) (@dependabot[bot])3a6dae7: cluster: update for kind release v0.19.0 (#290) (#291) (@markdingram)v0.8.18Changelog
0ad1b52: Add k3d to the list of supported products. (#281) (@guettli)cd9f527: Update version numbers: 0.8.17 (@dev-errant)fa38976: cluster: always run 'k3d delete' before 'k3d create' to wipe out any old clusters (#280) (@nicks)f6d3664: cluster: report errors on the status field (#279) (@nicks)1b90025: cluster: update for kind release v0.18.0 (#282) (@nicks)025125f: go.mod: update some deps (#284) (@nicks)v0.8.17Changelog
a3de768: Addgo installto README (#273) (@guettli)319f726: Add env property on Registry (#277) (@MalibuKoKo)a7faa84: Update version numbers: 0.8.16 (@dev-errant)be1b350: build(deps): bump github.com/containerd/containerd from 1.6.8 to 1.6.18 (#271) (@dependabot[bot])d62e2bd: build(deps): bump golang.org/x/net (#278) (@dependabot[bot])cbf4760: build(deps): bump golang.org/x/text from 0.3.7 to 0.3.8 (#274) (@dependabot[bot])733a582: deps: upgrade to go 1.20 (#272) (@nicks)v0.8.16Changelog
045f226: Update version numbers: 0.8.15 (@dev-errant)49b5edb: cluster: add kubernetes v1.26.0 for kind v0.17 (#269) (@zoetrope)cbc5581: k3dv1alpha4: add HostAliases to config (#270) (@nicksieger)v0.8.15Changelog
ce09580: Update version numbers: 0.8.14 (@dev-errant)9991a12: cluster: fix settings write payload (#268) (@nicks)v0.8.12Changelog
CGO_ENABLED=0and from base image golang:1.19-bullseye by @nicksieger in #264v0.8.11Changelog
2b74b58: Update version numbers: 0.8.10 (@dev-errant)de8bbec: kind: update to Kind v0.17 (#263) (@nicksieger)v0.8.10Changelog
e4c0c6a: Update version numbers: 0.8.9 (@dev-errant)b9b3bc9: cluster: handle missing clusters correctly (#259) (@nicks)871b000: clusters: delete orphaned kind clusters (#261) (@nicks)2a6b8ab: docker: also recognize sockets under ~/.docker/run (#262) (@nicks)v0.8.9Changelog
aa4b0a1: Update version numbers: 0.8.8 (@nicks)7f695e1: cluster: update node images for kind v0.16 (#257) (@nicks)v0.8.8Changelog
900763b: Update version numbers: 0.8.7 (@dev-errant)b7c5b63: cluster: detect in-container docker and fix KIND kubeconfig (#254) (@nicksieger)8b6cb38: cluster: handle containerd on minikube 1.27 (#255) (@nicks)de6c9d9: registry: enable deletion by default (#256) (@nicks)v0.8.7Changelog
7ab7bec: Update Go deps, Docker 20.10.17 and Kind 0.15 (#252) (@nicksieger)bfd67f5: Update version numbers: 0.8.6 (@dev-errant)a8m/envsubst (envsubst)
v1.4.3New Contributors
Full Changelog: a8m/envsubst@v1.4.2...v1.4.3
v1.2.0cmd/envsubst
Add the --fail-fast option.
parse
Add the Mode option.
kubernetes-sigs/kind (kind)
v0.31.0This release contains dependency updates and defaults to Kubernetes 1.35.0.
Please take note of the breaking changes from Kubernetes 1.35, and how to prepare for future changes to move off of the deprecated kubeam v1beta3 in favor of v1beta4. We will include updated reminders for both again in subsequent releases.
Breaking Changes
The default node image is now
kindest/node:v1.35.0@​sha256:452d707d4862f52530247495d180205e029056831160e22870e37e3f6c1ac31fKubernetes 1.35+ Cgroup v1
Kubernetes will be removing cgroup v1 support, and therefore kind node images at those versions will also be dropping support.
You can read more about this change in the Kubernetes release blog: https://kubernetes.io/blog/2025/12/17/kubernetes-v1-35-release/#removal-of-cgroup-v1-support
If you must use kind on cgroup v1, we recommend using an older Kubernetes release for the immediate future, but we also strongly recommend migrating to cgroup v2.
In the near future as Kubernetes support dwindles, KIND will also clean up cgroup v1 workarounds and drop support in future kind releases and images, regardless of Kubernetes version.
Most stable linux distros should be on cgroupv2 out of the box.
This is a reminder to use pinned images by digest, see the note below about images for this release.
Kubeadm Config *Future* Breaking Change
WARNING: Future kind releases will adopt kubeadm v1beta4 configuration, kubeadm v1beta4 has a breaking change to
extraArgs: https://kubernetes.io/blog/2024/08/23/kubernetes-1-31-kubeadm-v1beta4/.If you use the
kubeadmConfigPatchesfeature then you may need to prepare for this change.We recommend that you use versioned config patches that explicitly match the version required.
KIND uses kubeadm v1beta3 for Kubernetes 1.23+, and will likely use v1beta4 for Kubernetes 1.36+
The exact version is TBD pending work to fix this but expected to be 1.36.
It will definitely be an as-of-yet-unreleased Kubernetes version to avoid surprises, and it will not be on a patch-release boundary.
KIND may still work with older Kubernetes versions at v1beta2, but we no longer test or actively support these as Kubernetes only supports 1.32+ currently: https://kubernetes.io/releases/
You likely only need v1beta3 + v1beta4 patches, you can take your existing patches that work with v1beta3, explicitly set
apiVersion: kubeadm.k8s.io/v1beta3in the patch at the top level, and make another copy for v1beta4. The v1beta4 patch will need to moveextraArgsfrom a map to a list, for examples see: https://kubernetes.io/docs/reference/config-api/kubeadm-config.v1beta4/For a concrete example of kind config with kubeadm config patch targeting both v1beta3 and v1beta4, consider this simple kind config that sets verbosity of the apiserver logs:
If you only need to target a particular release, you can use one version.
If you only need to target fields that did not change between kubeadm beta versions, you can use a versionless patch, which may be more convenient, but we cannot guarantee there will be no future kubeadm config breaking changes.
New Features
Images pre-built for this release:
kindest/node:v1.35.0@​sha256:452d707d4862f52530247495d180205e029056831160e22870e37e3f6c1ac31fkindest/node:v1.34.3@​sha256:08497ee19eace7b4b5348db5c6a1591d7752b164530a36f855cb0f2bdcbadd48kindest/node:v1.33.7@​sha256:d26ef333bdb2cbe9862a0f7c3803ecc7b4303d8cea8e814b481b09949d353040kindest/node:v1.32.11@​sha256:5fc52d52a7b9574015299724bd68f183702956aa4a2116ae75a63cb574b35af8kindest/node:v1.31.14@​sha256:6f86cf509dbb42767b6e79debc3f2c32e4ee01386f0489b3b2be24b0a55aac2bNOTE: You must use the
@sha256digest to guarantee an image built for this release, until such a time as we switch to a different tagging scheme. Even then we will highly encourage digest pinning for security and reproducibility reasons.See also:
NOTE: These node images support amd64 and arm64, both of our supported platforms. You must use the same platform as your host, for more context see #2718
Fixes
Contributors
Committers for this release:
v0.30.0This is small release containing patched dependencies and Kubernetes 1.34, as well as a bugfix for Kubernetes v1.33.0+ cluster reboots.
Breaking Changes
The default node image is now
kindest/node:v1.34.0@​sha256:7416a61b42b1662ca6ca89f02028ac133a309a2a30ba309614e8ec94d976dc5aNew Features
Images pre-built for this release:
kindest/node:v1.34.0@​sha256:7416a61b42b1662ca6ca89f02028ac133a309a2a30ba309614e8ec94d976dc5akindest/node:v1.33.4@​sha256:25a6018e48dfcaee478f4a59af81157a437f15e6e140bf103f85a2e7cd0cbbf2kindest/node:v1.32.8@​sha256:abd489f042d2b644e2d033f5c2d900bc707798d075e8186cb65e3f1367a9d5a1kindest/node:v1.31.12@​sha256:0f5cc49c5e73c0c2bb6e2df56e7df189240d83cf94edfa30946482eb08ec57d2NOTE: You must use the
@sha256digest to guarantee an image built for this release, until such a time as we switch to a different tagging scheme. Even then we will highly encourage digest pinning for security and reproducibility reasons.See also:
NOTE: These node images support amd64 and arm64, both of our supported platforms. You must use the same platform as your host, for more context see #2718
Fixes
Contributors
Committers for this release:
v0.29.0This is a quick security release to pickup the containerd 2.1.1 CVE-2025-47290 fix.
See v0.28.0 (release days ago!) for full release notes with recent changes:
https://github.com/kubernetes-sigs/kind/releases/tag/v0.28.0
Breaking Changes
The default node image is now
kindest/node:v1.33.1@​sha256:050072256b9a903bd914c0b2866828150cb229cea0efe5892e2b644d5dd3b34fNew Features
Images pre-built for this release:
kindest/node:v1.33.1@​sha256:050072256b9a903bd914c0b2866828150cb229cea0efe5892e2b644d5dd3b34fkindest/node:v1.32.5@​sha256:e3b2327e3a5ab8c76f5ece68936e4cafaa82edf58486b769727ab0b3b97a5b0dkindest/node:v1.31.9@​sha256:b94a3a6c06198d17f59cca8c6f486236fa05e2fb359cbd75dabbfc348a10b211kindest/node:v1.30.13@​sha256:397209b3d947d154f6641f2d0ce8d473732bd91c87d9575ade99049aa33cd648NOTE: You must use the
@sha256digest to guarantee an image built for this release, until such a time as we switch to a different tagging scheme. Even then we will highly encourage digest pinning for security and reproducibility reasons.See also:
NOTE: These node images support amd64 and arm64, both of our supported platforms. You must use the same platform as your host, for more context see #2718
Fixes
Contributors
Committers for this release:
(Please see v0.28.0 https://github.com/kubernetes-sigs/kind/releases/tag/v0.28.0#Contributors)
v0.27.0This release moves kind to containerd 2.x and contains fixes for nerdctl. It also moves Kubernetes to 1.32.2 by default.
Breaking Changes
WARNING: kind v0.27.0+ will be required to use
kind load ...subcommands with these new containerd 2.0+ images (built by kind v0.27+). For other use cases, the new images should still work with recent kind releases, but are not guaranteed. As always we strongly recommend consuming images by theirsha256digest for security and reliability. #3853Older images from recent releases should continue to work with kind v0.27.0+.
NOTE: As previously warned containerd 2.x requires that you must be using
config_pathmode for containerd registry config. If you're using the local registry script at, or more recent than791b3dc(kind v0.20.0 / May 22, 2023) then no changes should be necessary.The default node image is now
kindest/node:v1.32.2@​sha256:f226345927d7e348497136874b6d207e0b32cc52154ad8323129352923a3142fNew Features
Images pre-built for this release:
kindest/node:v1.32.2@​sha256:f226345927d7e348497136874b6d207e0b32cc52154ad8323129352923a3142fkindest/node:v1.31.6@​sha256:28b7cbb993dfe093c76641a0c95807637213c9109b761f1d422c2400e22b8e87kindest/node:v1.30.10@​sha256:4de75d0e82481ea846c0ed1de86328d821c1e6a6a91ac37bf804e5313670e507kindest/node:v1.29.14@​sha256:8703bd94ee24e51b778d5556ae310c6c0fa67d761fae6379c8e0bb480e6fea29Additional images pre-built for this release:
kindest/node:v1.33.0@​sha256:02f73d6ae3f11ad5d543f16736a2cb2a63a300ad60e81dac22099b0b04784a4eNOTE: You must use the
@sha256digest to guarantee an image built for this release, until such a time as we switch to a different tagging scheme. Even then we will highly encourage digest pinning for security and reproducibility reasons.See also:
NOTE: These node images support amd64 and arm64, both of our supported platforms. You must use the same platform as your host, for more context see #2718
Fixes
kind get clusterswith nerdctlContributors
Thank you to everyone who contributed to this kind over the years!
Committers for this release:
v0.26.0This release brings Kubernetes v1.32.0 to kind by default and fixes
kind build node-imagefor building for Kubernetes releases <v1.31.0 when not building Kubernetes from source (e.g.kind build node-image v1.30.0).Breaking Changes
--kube-rootflag fromkind build node-image, use--type=sourceand pass the path as an argument instead.--loglevelflag, use-v/--verbosityinstead (seekind help)kindest/node:v1.32.0@​sha256:c48c62eac5da28cdadcf560d1d8616cfa6783b58f0d94cf63ad1bf49600cb027New Features
Images pre-built for this release:
kindest/node:v1.32.0@​sha256:c48c62eac5da28cdadcf560d1d8616cfa6783b58f0d94cf63ad1bf49600cb027kindest/node:v1.31.4@​sha256:2cb39f7295fe7eafee0842b1052a599a4fb0f8bcf3f83d96c7f4864c357c6c30kindest/node:v1.30.8@​sha256:17cd608b3971338d9180b00776cb766c50d0a0b6b904ab4ff52fd3fc5c6369bfkindest/node:v1.29.12@​sha256:62c0672ba99a4afd7396512848d6fc382906b8f33349ae68fb1dbfe549f70decNOTE: You must use the
@sha256digest to guarantee an image built for this release, until such a time as we switch to a different tagging scheme. Even then we will highly encourage digest pinning for security and reproducibility reasons.See also:
NOTE: These node images support amd64 and arm64, both of our supported platforms. You must use the same platform as your host, for more context see #2718
Fixes
kind build node-image --type=urlandkind build node-image --type=releasewhere Kubernetes version is less thanv1.31.0kind build node-image v1.30.0andkind build node-image https://dl.k8s.io/v1.30.0/kubernetes-server-linux-arm64.tar.gz--type=source.Contributors
Thank you to everyone who contributed to this kind over the years!
Commiters for this release:
v0.25.0This release contains a number of small networking fixes and the latest Kubernetes releases. Happy KubeCon!
Breaking Changes
kindest/node:v1.31.2@​sha256:18fbefc20a7113353c7b75b5c869d7145a6abd6269154825872dc59c1329912eNew Features
Images pre-built for this release:
kindest/node:v1.31.2@​sha256:18fbefc20a7113353c7b75b5c869d7145a6abd6269154825872dc59c1329912ekindest/node:v1.30.6@​sha256:b6d08db72079ba5ae1f4a88a09025c0a904af3b52387643c285442afb05ab994kindest/node:v1.29.10@​sha256:3b2d8c31753e6c8069d4fc4517264cd20e86fd36220671fb7d0a5855103aa84bkindest/node:v1.28.15@​sha256:a7c05c7ae043a0b8c818f5a06188bc2c4098f6cb59ca7d1856df00375d839251kindest/node:v1.27.16@​sha256:2d21a61643eafc439905e18705b8186f3296384750a835ad7a005dceb9546d20kindest/node:v1.26.15@​sha256:c79602a44b4056d7e48dc20f7504350f1e87530fe953428b792def00bc1076ddAdditional images pre-built for this release:
kindest/node:v1.32.0@​sha256:2458b423d635d7b01637cac2d6de7e1c1dca1148a2ba2e90975e214ca849e7cbNOTE: You must use the
@sha256digest to guarantee an image built for this release, until such a time as we switch to a different tagging scheme. Even then we will highly encourage digest pinning for security and reproducibility reasons.See also:
NOTE: These node images support amd64 and arm64, both of our supported platforms. You must use the same platform as your host, for more context see #2718
Fixes
Contributors
Thank you to everyone who contributed to this release!
Users whose commits are in this release (alphabetically by user name)
Configuration
📅 Schedule: Branch creation - Only on Sunday and Saturday ( * * * * 0,6 ) (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.