Releases: kubernetes-sigs/kind
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.1image: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
--typeflag is deprecated. - The
kind build node-image--kube-rootflag 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-imagenow supports--archfor 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 logsnow only exports the version once instead of per nodekind export logsalways 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
umasksettings 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 clusterTo 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.2image:kindest/node:v1.20.2@sha256:8f7ea6e7642c0da54f04a7ee10431549c0257315b3a634f6ef2fecaaedb19bab - We're only actively supporting Kubernetes
v1.14.0+, however limited best effort functionality still encompasesv1.13.0for 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 logsnow 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.1image:kindest/node:v1.19.1@sha256:98cf5288864662e37115e362b23e4369c8c4a408f99cbc06e58ac30ddc721600 - Node images built with kind
v0.9.0require 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
v1alpha3kind 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_proxywhen 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.
v0.8.0
v0.8.0 Most importantly brings persistent clusters that automatically come back
up after dockerd / host restarts. It also brings a number of fixes to networking
in general, experimental podman backend support, improved failure output, and more.
Breaking Changes
- The default node image is a Kubernetes
v1.18.2image:kindest/node:v1.18.2@sha256:7b27a6d0f2517ff88ba444025beae41491b016bc6af573ba467b70c5e8e0d85f - KIND
v0.8.0requires node images built withv0.8.0+.- These new images should be mostly backwards compatible for kind
v0.5.0+
- These new images should be mostly backwards compatible for kind
- The default docker network for nodes is now
kindinstead of the default docker bridge- This enabled many fixes, however if you were running things alongside kind you may need to pass
--net=kind - Your host DNS resolver should just work now ™️ in many cases
- IPv6 clusters no longer require modifying docker daemon config
- Docker networks must have a free IPv6 /64 in the [ULA] range, that is you may
not create other docker networks consuming the entire ULA range. You can work
around this by precreating thekindnetwork with some totally other range if you wish.
- This enabled many fixes, however if you were running things alongside kind you may need to pass
- You may need to migrate to the new
featureGatesconfig field when setting feature gates, this should be easier to use though!
NOTE: If you've been experimenting with kind > v0.7.0 installed from HEAD, you may need to docker network rm kind before
creating IPv6 clusters.
New Features
- Clusters should not be broken by dockerd restarts / restarting your host!
- Host DNS should just work ™️
- IPv6 Clusters no longer require modifying docker daemon settings
- Kubernetes 1.18+ should work on hosts using the iptables nft backend
kind delete clusters --allfor deleting all your clusters- New top level
featureGatesfield in Cluster config for enabling feature gates - Upgraded dependencies broadly, including library packages, go, containerd, CNI, etc...
NO_COLOR(no-color.org) support- Experimental
podmansupport- These clusters do not survive host reboots
- Requires rootful mode
- Experimental
- Improved output on failures, including command output without needing to set
-v - Experimentally cross-building the base image for AMD64 + ARM by default
- More Documentation! Guide to working with KIND offline, Ingress and more!
- New download host and experimental nightly builds
- Support for Dynamic PV in Kubernetes 1.11.X
- New top level
featureGatesconfig option for controlling cluster featuregates - Shiny new WorkGroup-K8s-Infra based infrastructure for Kubernetes CI builds
- Support for
KIND_CLUSTER_NAMEenvironment variable isntead of--name
New Node have been Images for kind v0.8.0, please use these exact images (IE like v1.18.2:@sha256:7b27a6d0f2517ff88ba444025beae41491b016bc6af573ba467b70c5e8e0d85f 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.18:
kindest/node:v1.18.2@sha256:7b27a6d0f2517ff88ba444025beae41491b016bc6af573ba467b70c5e8e0d85f - 1.17:
kindest/node:v1.17.5@sha256:ab3f9e6ec5ad8840eeb1f76c89bb7948c77bbf76bcebe1a8b59790b8ae9a283a - 1.16:
kindest/node:v1.16.9@sha256:7175872357bc85847ec4b1aba46ed1d12fa054c83ac7a8a11f5c268957fd5765 - 1.15:
kindest/node:v1.15.11@sha256:6cc31f3533deb138792db2c7d1ffc36f7456a06f1db5556ad3b6927641016f50 - 1.14:
kindest/node:v1.14.10@sha256:6cd43ff41ae9f02bb46c8f455d5323819aec858b99534a290517ebc181b443c6 - 1.13:
kindest/node:v1.13.12@sha256:214476f1514e47fe3f6f54d0f9e24cfb1e4cda449529791286c7161b7f9c08e7 - 1.12:
kindest/node:v1.12.10@sha256:faeb82453af2f9373447bb63f50bae02b8020968e0889c7fa308e19b348916cb 1.11:kindest/node:v1.11.10@sha256:74c8740710649a3abb169e7f348312deff88fc97d74cfb874c5095ab3866bb42
EDIT: 1.11.X does not work. See: #1565
Fixes
- Avoid potentially slow
syncduring bootstrap - Fixed some occasional flakes when exporting logs
- Simple output mode automatically activated on Travis CI to avoid broken PTY behavior
- Fixed image import on ARM
- Fixed abspath resolution in cluster config on Windows
- Fixed DNS resolution on some systems
- Fixed building Kubernetes with Bazel
- Fixed using kind on ZFS / BTRFS backed host docker
- Updated Conformance Certification
Contributors
Thanks again to everyone who contributed to this release! ❤️
Users whose commits are in this release (alphabetically by user name)
0.7.0
v0.7.0 notably brings greatly improved support for dynamic PersistentVolumes by way of rancher.io/localhost-path integration for clusters with Kubernetes v1.12.X or greater.
It is also worth noting that kind is now committed to IPv6 PR testing and running 80% of the GCE presubmit test cases on Kubernetes Pull Requests.
Breaking Changes
- The default node image is a Kubernetes
v1.17.0imagekindest/node:v1.17.0@sha256:9512edae126da271b66b990b6fff768fbb7cd786c7d39e86bdf55906352fdf62 - Node images built with kind
v0.7.0have many improvements and require kindv0.5.0+, images built with older releases should continue to work.- To get the new dynamic PV support you must upgrade both kind and your node image(s) to this release or newer. The images are compatible with older releases but only both a newer kind CLI and newer images together will enable the updated PV support.
- When the new PV support enabled by these versions the default storage class is changed from the previous
k8s.io/host-pathbased implementation.
New Features
- Dynamic PersistentVolume Support is greatly enhanced with rancher.io/localhost-path integration out of the box
- Upgraded dependencies around the board, notably including fixes to the CNI portmap plugin to reduce flakiness
- Documentation Enhancements
- We have started an effort to comprehensively cover configuration in the docs
- We have a dedicated guide for using Ingress
- Added more resources
- Improved site code, in particular added copyable snippets
- Other assorted smaller improvements
- Again show one box emoji per node being provisioned
New Node have been Images for kind v0.7.0, please use these exact images (IE like kindest/node:v1.16.4@sha256:b91a2c2317a000f3a783489dfb755064177dbc3a0b2f4147d50f04825d016f55) or build your own as we may need to change the image format again in the future 😅
Kubernetes Version @ digest
- v1.18.0 @
sha256:0e20578828edd939d25eb98496a685c76c98d54084932f76069f886ec315d694 - v1.17.0 @
sha256:9512edae126da271b66b990b6fff768fbb7cd786c7d39e86bdf55906352fdf62 - v1.16.4 @
sha256:b91a2c2317a000f3a783489dfb755064177dbc3a0b2f4147d50f04825d016f55 - v1.15.7 @
sha256:e2df133f80ef633c53c0200114fce2ed5e1f6947477dbc83261a6a921169488d - v1.14.10 @
sha256:81ae5a3237c779efc4dda43cc81c696f88a194abcc4f8fa34f86cf674aa14977 - v1.13.12 @
sha256:5e8ae1a4e39f3d151d420ef912e18368745a2ede6d20ea87506920cd947a7e3a - v1.12.10 @
sha256:68a6581f64b54994b824708286fafc37f1227b7b54cbb8865182ce1e036ed1cc - v1.11.10 @
sha256:e6f3dade95b7cb74081c5b9f3291aaaa6026a90a977e0b990778b6adc9ea6248
Fixes
- Improved messaging in a number of user facing errors
- Disabled GINKGO_FLAKE_ATTEMPTS when testing
- Fixed local image check
- When the default kubeconfig is empty / non-existent,
kind create clusterandkind export kubeconfigwill preserve extra fields from kubeadm, notablyapiVersionandkind(though they are not strictly necessary...) - Reduced cruft in base image
Contributors
Thanks again to everyone who contributed to this release! ❤️
Users whose commits are in this release (alphabetically by user name)
v0.6.1
This is a small patch release over v0.6.0.
Notably:
- Relaxed
protocolandpropagationin v1alpha4 config to have defaulting like v1alpha3 without specifying a value. - Fixed containerd config patching on clusters with multiple control plane nodes.
- Fixed containerd config patching on slow hosts (do not attempt to restart containerd if it has not started yet).
- Fixed airgapped support for node images (corrected kindnetd image preloading).
This last point brings a new list of node images, fully compatible with v0.6.0, but with kindnetd properly pre-loaded onto them for use in air-gapped / offline environments:
kindest/node:v1.16.3@sha256:70ce6ce09bee5c34ab14aec2b84d6edb260473a60638b1b095470a3a0f95ebeckindest/node:v1.15.6@sha256:18c4ab6b61c991c249d29df778e651f443ac4bcd4e6bdd37e0c83c0d33eaae78kindest/node:v1.14.9@sha256:bdd3731588fa3ce8f66c7c22f25351362428964b6bca13048659f68b9e665b72kindest/node:v1.13.12@sha256:1fe072c080ee129a2a440956a65925ab3bbd1227cf154e2ade145b8e59a584adkindest/node:v1.12.10@sha256:c5aeca1433e3230e6c1a96b5e1cd79c90139fd80242189b370a3248a05d77118kindest/node:v1.11.10@sha256:8ebe805201da0a988ee9bbcc2de2ac0031f9264ac24cf2a598774f1e7b324fe1
The default node image is now kindest/node:v1.16.3@sha256:70ce6ce09bee5c34ab14aec2b84d6edb260473a60638b1b095470a3a0f95ebec
v0.6.0
v0.6.0 brings major internal rework and some important breaking changes that we hope will make kind easier to use.
It is also worth noting that kind is now used for blocking Kubernetes pull request testing, in addition to already being used for release signal. This is a major milestone for the project.
Breaking Changes
-
KUBECONFIG is now automatically merged in the same style as
kops,minikube, GKE, etc. Please see #1060 for a detailed migration guide.- You do not need to and should not do
export KUBECONFIG="$(kind get kubeconfig-path)". This command is deprecated and will be removed in a future release. - kind will set your current-context when creating a cluster
- You can configure using a different file by either setting the
KUBECONFIGenvironment variable before creating a cluster, or by setting the--kubeconfigflag on cluster creation
- You do not need to and should not do
-
Config files are now parsed in strict mode, which should help catch invalid config files
-
kind is moving all external (labels, config) namespaced objects into
x-k8s.ioto comply with the guidelines for API review. For this release kind will support and use both labels without breaking anything, however in a future release we will only use the new x-k8s.io labels. This note is primarily for @danderson 🙃 -
The default node image is a Kubernetes
v1.16.3imagekindest/node:v1.16.3@sha256:bced4bc71380b59873ea3917afe9fb35b00e174d22f50c7cab9188eac2b0fb88 -
Node images built with kind
v0.6.0have many improvements and require kindv0.5.0+, images built withv0.4.0/v0.3.0should continue to work withv0.6.0however.
New Features
- There is a new
kind.x-k8s.io/v1alpha4config format.- Support for per-node kubeadm config patches
- Support for patching the kind nodes's containerd config, which will be used in an upcoming new guide for local registries
- Automatic KUBECONFIG export and merge to simplify using kind.
- kind clusters will always have a
kind-prefix in kubeconfig file entries and now can be identified by this.
- kind clusters will always have a
kind export kubeconfigto re-export credentials in the waykind create clusternow does.- Significant logging rework
-q/--quietflag to silence status messages / error output- Logging with
-v 1/--verbosity 1or greater will result in detailed error output including stacktraces and command output
- Colored terminal output and slightly better spinners.
- You can disable both by setting the environment variable
TERMtodumb
- You can disable both by setting the environment variable
- Enhanced
kind versionoutput with more details- Builds with
make buildormake installinclude git commit - The simplified version can be obtained with
kind version -q
- Builds with
- Mounts in
extraMountsmay have relative paths on the host, resolved against the working directory ofkind - kubeadm config patches no longer need to include metadata.name and may optionally exclude the
apiVersion, allowing more flexible matching of patches to config objects- The kind binary is now 75% smaller as a result of eliminating dependencies and writing a patch runtime specific to our needs.
- kindnetd now has improved logging with klog
- A random salutation is printed at the end of
kind create cluster🙃 - It should be possible to install kind via chocolatey with
choco install kind. We're also hoping to get a homebrew package shortly!
New Node have been Images for kind v0.5.0, please use these exact images (IE like kindest/node:v1.16.3@sha256:bced4bc71380b59873ea3917afe9fb35b00e174d22f50c7cab9188eac2b0fb88) or build your own as we may need to change the image format again in the future 😅
- v1.16.3
sha256:bced4bc71380b59873ea3917afe9fb35b00e174d22f50c7cab9188eac2b0fb88 - v1.15.6
sha256:1c8ceac6e6b48ea74cecae732e6ef108bc7864d8eca8d211d6efb58d6566c40a - v1.14.9
sha256:00fb7d424076ed07c157eedaa3dd36bc478384c6d7635c5755746f151359320f - v1.13.12
sha256:ad1dd06aca2b85601f882ba1df4fdc03d5a57b304652d0e81476580310ba6289 - v1.12.10
sha256:e93e70143f22856bd652f03da880bfc70902b736750f0a68e5e66d70de236e40 - v1.11.10
sha256:44e1023d3a42281c69c255958e09264b5ac787c20a7b95caf2d23f8d8f3746f2
The new node images for recent Kubernetes versions should be > 200 MB smaller thanks to a KEP we implemented upstream to allow building without most of the in-tree cloud provider code.
Fixes
- Various kind CLI output was corrected to be to stdout or stderr where appropriate
- We have robust new containerd nightly build infrastructure and are shipping the lastest upstream containerd 1.3 + backports in all node images
- Removed unnecessary dependencies and upgraded all dependencies
- Fixed building Kubernetes master branch with Bazel
- Upgraded to build with Go
1.13.4 - Upgraded all dependencies
- kindnetd now mounts the iptables xtables lock to ensure coordination with kube-proxy
- kind will attempt to recreate the original cgroup environment inside the node, this eliminates some error output from kubelet
- fixed a race condition in command execution, eliminating a source of flakiness of some kind commands
kind get kubeconfigdoes not depend on an existing config file on the host- the product_uuid is now faked to be different per-node
- switched to GA storageclass annotation on the default storage class
- removed unnecessary addon manager annotation
- kindnetd is now more robust with backoff on failures
- kind is now relatively decoupled from docker internally for node management
- deflaked our cross build and fixed running it on macOS
Contributors
Thanks again to everyone who contributed to this release! ❤️
Users whose commits are in this release (alphabetically by user name)
- @alejandrox1
- @amwat
- @aojea
- @beautytiger
- @BenTheElder
- @cofyc
- @danderson
- @dustinspecker
- @fabiand
- @hwdef
- @jbrette
- @jieyu
- @k8s-ci-robot
- @luksa
- @lwr20
- @maelvls
- @manics
- @mauilion
- @paol
- @PatrickLang
- @RafalKorepta
- @robertojrojas
- @sivanzcw
- @sufuf3
- @tanjunchen
- @tao12345666333
- @u5surf
- @WalkerGriggs
- @ysz
- @yuxiaobo96
v0.5.1
This release is a minor patch to upgrade kustomize to v3.1.1-0.20190821175718-4b67a6de1296, fixing builds for Windows. This release also contains fixes to our release tooling & CI to ensure we don't regress on this.
Otherwise, please see the release notes for v0.5.0.
See: #792 for more details on what went wrong and how we fixed it.
v0.5.0
Please see v0.5.1 for a small update with Windows fixes (!)
v0.5.0 primarily brings bug fixes and documentation + code quality improvements
Breaking Changes
- The default node image is a Kubernetes
v1.15.3imagekindest/node:v1.15.3@sha256:27e388752544890482a86b90d8ac50fcfa63a2e8656a96ec5337b902ec8e5157 - Node images built with kind
v0.5.0will require kindv0.5.0+, images built withv0.4.0/v0.3.0should continue to work withv0.5.0however.
New Features
- Port forwards now support UDP and SCTP
- We now have documentation for using kind with WSL2 (shoutout to @PatrickLang)
- We now have a resources page where you can find talks, guides, and examples
- Limited arm32 support
- Nodes perform some more startup logging to the container TTY, which should help with debugging
- Building node images should be slightly faster due to streamlined image pre-loading
New Node have been Images for kind v0.5.0, please use these exact images or build your own as we may need to change the image format again in the future 😅
kindest/node:v1.15.3@sha256:27e388752544890482a86b90d8ac50fcfa63a2e8656a96ec5337b902ec8e5157kindest/node:v1.14.6@sha256:464a43f5cf6ad442f100b0ca881a3acae37af069d5f96849c1d06ced2870888dkindest/node:v1.13.10@sha256:2f5f882a6d0527a2284d29042f3a6a07402e1699d792d0d5a9b9a48ef155fa2akindest/node:v1.12.10@sha256:e43003c6714cc5a9ba7cf1137df3a3b52ada5c3f2c77f8c94a4d73c82b64f6f3kindest/node:v1.11.10@sha256:bb22258625199ba5e47fb17a8a8a7601e536cd03456b42c1ee32672302b1f909
Fixes
- Worked around Kubernetes build changes pending in v1.16, kind again supports building Kubernetes at HEAD
kind load docker-imagenow correctly avoids loading images that are already loaded⚠️ - More Node runtime written storage is now on volume(s), this should fix some bugs (#771) and improve performance
- New node images will attempt to work around missing
/dev/kmsgcausing kubelet to not start /isrsharedin new node (images) for mount propagation (more mounts should be shared now)LimitNOFILEin the containerd service now matches the updated upstream value (1048576) in new node images- All node level services should be passed proxy environment variables by default now with new node images
- Upgraded to build with Go
1.12.9 - Upgraded Kustomize to
v3.1.0 - Bugs in the documentation for using private registries were corrected
- The kind CLI's own build scripts support proxy environment variables properly
- We've improved / clarified the roadmap a bit
Contributors
Thanks again to everyone who contributed to this release! 😄
Users whose commits are in this release (alphabetically by user name)