Kubernetes IN Docker - local clusters for testing Kubernetes

Overview

kind

Please see Our Documentation for more in-depth installation etc.

kind is a tool for running local Kubernetes clusters using Docker container "nodes". kind was primarily designed for testing Kubernetes itself, but may be used for local development or CI.

If you have go (1.11+) and docker installed GO111MODULE="on" go get sigs.k8s.io/[email protected] && kind create cluster is all you need!

kind consists of:

kind bootstraps each "node" with kubeadm. For more details see the design documentation.

NOTE: kind is still a work in progress, see the 1.0 roadmap.

Installation and usage

For a complete install guide see the documentation here.

You can install kind with GO111MODULE="on" go get sigs.k8s.io/[email protected].

NOTE: please use the latest go to do this, ideally go 1.13 or greater.

NOTE: go get should not be run from a Go [modules] enabled project directory, as go get inside a modules enabled project updates dependencies / behaves differently. Try for example cd $HOME first.

This will put kind in $(go env GOPATH)/bin. If you encounter the error kind: command not found after installation then you may need to either add that directory to your $PATH as shown here or do a manual installation by cloning the repo and run make build from the repository.

Without installing go, kind can be built reproducibly with docker using make build.

Stable binaries are also available on the releases page. Stable releases are generally recommended for CI usage in particular. To install, download the binary for your platform from "Assets" and place this into your $PATH:

On Linux:

curl -Lo ./kind "https://kind.sigs.k8s.io/dl/v0.11.1/kind-$(uname)-amd64"
chmod +x ./kind
mv ./kind /some-dir-in-your-PATH/kind

On macOS via Homebrew:

brew install kind

On macOS via MacPorts:

sudo port selfupdate && sudo port install kind

On macOS via Bash:

curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.11.1/kind-darwin-amd64
chmod +x ./kind
mv ./kind /some-dir-in-your-PATH/kind

On Windows:

curl.exe -Lo kind-windows-amd64.exe https://kind.sigs.k8s.io/dl/v0.11.1/kind-windows-amd64
Move-Item .\kind-windows-amd64.exe c:\some-dir-in-your-PATH\kind.exe

# OR via Chocolatey (https://chocolatey.org/packages/kind)
choco install kind

To use kind, you will need to install docker. Once you have docker running you can create a cluster with:

kind create cluster

To delete your cluster use:

kind delete cluster

To create a cluster from Kubernetes source:

  • ensure that Kubernetes is cloned in $(go env GOPATH)/src/k8s.io/kubernetes
  • build a node image and create a cluster with:
kind build node-image
kind create cluster --image kindest/node:latest

Multi-node clusters and other advanced features may be configured with a config file, for more usage see the docs or run kind [command] --help

Community

Please reach out for bugs, feature requests, and other issues! The maintainers of this project are reachable via:

Current maintainers are @BenTheElder, @munnerz, @aojea, and @amwat - feel free to reach out if you have any questions!

Pull Requests are very welcome! If you're planning a new feature, please file an issue to discuss first.

Check the issue tracker for help wanted issues if you're unsure where to start, or feel free to reach out to discuss. 🙂

See also: our own contributor guide and the Kubernetes community page.

Why kind?

  • kind supports multi-node (including HA) clusters
  • kind supports building Kubernetes release builds from source
    • support for make / bash or docker, in addition to pre-published builds
  • kind supports Linux, macOS and Windows
  • kind is a CNCF certified conformant Kubernetes installer

Code of conduct

Participation in the Kubernetes community is governed by the Kubernetes Code of Conduct.

Issues
  • Cluster doesn't restart when docker restarts

    Cluster doesn't restart when docker restarts

    When docker restarts or stop/start (for any reason), the kind node containers remain stopped and aren't restarted properly. When I tried to run docker restart <node container id> the cluster didn't start either.

    The only solution seems to recreate the cluster at this point.

    /kind bug

    kind/feature priority/important-soon lifecycle/active kind/design 
    opened by vincepri 88
  • Support arm64

    Support arm64

    Device under test is a Packet c1.large.arm 96-core arm64 machine running Ubuntu 18.04.

    [email protected]:~$ go version
    go version go1.11.2 linux/arm64
    [email protected]:~$ go get sigs.k8s.io/kind
    [email protected]:~$ go/bin/kind create cluster
    Creating cluster 'kind-1' ...
     ✓ Ensuring node image (kindest/node:v1.12.2)  
     ✓ [kind-1-control-plane] Creating node container 📦 
     ✗ [kind-1-control-plane] Fixing mounts 🗻 
    Error: failed to create cluster: exit status 1
    Usage:  
      kind create cluster [flags]
            
    Flags:  
          --config string   path to a kind config file
      -h, --help            help for cluster
          --image string    node docker image to use for booting the cluster
          --name string     cluster context name (default "1")
          --retain          retain nodes for debugging when cluster creation fails
          --wait duration   Wait for control plane node to be ready (default 0s)
    
    Global Flags:
          --loglevel string   logrus log level [panic, fatal, error, warning, info, debug] (default "warning")
    
    failed to create cluster: exit status 1
    [email protected]:~$ docker version
    Client:
     Version:           18.09.0
     API version:       1.39
     Go version:        go1.10.4
     Git commit:        4d60db4
     Built:             Wed Nov  7 00:52:41 2018
     OS/Arch:           linux/arm64
     Experimental:      false
    
    Server: Docker Engine - Community
     Engine:
      Version:          18.09.0
      API version:      1.39 (minimum version 1.12)
      Go version:       go1.10.4
      Git commit:       4d60db4
      Built:            Wed Nov  7 00:17:01 2018
      OS/Arch:          linux/arm64
      Experimental:     false
    
    kind/feature lifecycle/frozen priority/backlog lifecycle/active 
    opened by vielmetti 82
  • Add dual stack support

    Add dual stack support

    Add dual stack support to KIND, it also needs to add dual-stack support to KINDNET Depends on:

    • [x] https://github.com/kubernetes/kubernetes/pull/79033
    • [x] https://github.com/kubernetes/kubernetes/pull/79386
    • [x] https://github.com/kubernetes/kubernetes/pull/82462
    • [x] https://github.com/kubernetes/kubernetes/pull/82473
    • [x] https://github.com/kubernetes/kubernetes/pull/79993
    • [x] https://github.com/kubernetes/kubernetes/pull/78801
    • [x] https://github.com/kubernetes/kubernetes/pull/83123

    New dependency for kindnet so we don't need annotations on the nodes:

    • [x] https://github.com/kubernetes/enhancements/pull/1665
    approved cncf-cla: yes lgtm priority/important-soon size/XL area/provider/docker area/provider/podman 
    opened by aojea 67
  • mount node product_uuid and product_name in pod containers

    mount node product_uuid and product_name in pod containers

    When pods are running at kind cluster their product_uuid and product_name is the same since the share the kernel vfs, this PR add a new mount to OCI spec to bind mount node's product_uuid and product_name into pod's containers. This is the result

    $ kubectl exec nginx-kind-worker cat /sys/class/dmi/id/product_uuid
    053ba73c-3a24-4cfe-b7ca-5a938a4600d7
    $ kubectl exec nginx-kind-worker2 cat /sys/class/dmi/id/product_uuid
    db9f435b-0316-4f66-92a0-8d3632d6f69c
    

    Closes #https://github.com/kubernetes-sigs/kind/issues/2318

    cncf-cla: yes size/M do-not-merge/hold ok-to-test 
    opened by qinqon 64
  • create HA cluster is flaky

    create HA cluster is flaky

    What happened: i started seeing odd failures in the kind-master and -1.14 kubeadm jobs: https://k8s-testgrid.appspot.com/sig-cluster-lifecycle-kubeadm#kubeadm-kind-master https://k8s-testgrid.appspot.com/sig-cluster-lifecycle-kubeadm#kubeadm-kind-1.14

    after switching to this HA config:

    # a cluster with 3 control-planes and 3 workers
    kind: Cluster
    apiVersion: kind.sigs.k8s.io/v1alpha3
    nodes:
    - role: control-plane
    - role: control-plane
    - role: control-plane
    - role: worker
    - role: worker
    - role: worker
    
    I0604 19:15:09.075770     760 join.go:480] [preflight] Retrieving KubeConfig objects
    [preflight] Reading configuration from the cluster...
    [preflight] FYI: You can look at this config file with 'kubectl -n kube-system get cm kubeadm-config -oyaml'
    I0604 19:15:10.310249     760 round_trippers.go:438] GET https://172.17.0.2:6443/api/v1/namespaces/kube-system/configmaps/kubeadm-config 401 Unauthorized in 1233 milliseconds
    error execution phase preflight: unable to fetch the kubeadm-config ConfigMap: failed to get config map: Unauthorized 
     ✗ Joining more control-plane nodes 🎮
    DEBU[22:15:10] Running: /usr/bin/docker [docker ps -q -a --no-trunc --filter label=io.k8s.sigs.kind.cluster --format {{.Names}}\t{{.Label "io.k8s.sigs.kind.cluster"}} --filter label=io.k8s.sigs.kind.cluster=kind] 
    $KUBECONFIG is still set to use /home/lubo-it/.kube/kind-config-kind even though that file has been deleted, remember to unset it
    DEBU[22:15:10] Running: /usr/bin/docker [docker rm -f -v kind-control-plane2 kind-control-plane kind-control-plane3 kind-worker kind-worker3 kind-worker2 kind-external-load-balancer] 
    ⠈⠁ Joining more control-plane nodes 🎮 Error: failed to create cluster: failed to join a control plane node with kubeadm: exit status 1
    

    What you expected to happen: no errors.

    How to reproduce it (as minimally and precisely as possible):

    cd kind-src-path
    GO111MODULE=on go build
    # install the kind binary to PATH
    cd kubernetes-src-path
    kind build node-image --kube-root=$(pwd)
    kind create cluster --config=<path-to-above-ha-config> --image kindest/node:latest
    

    Anything else we need to know?:

    • i cannot reproduce the bug without --loglevel=debug.
    • sometimes it fails during joining the extra CP nodes, something during joining the workers.

    Environment:

    • kind version: (use kind version): master at 43bf0e2594db
    • Kubernetes version: master at 1409ff38e5828f55
    • Docker version: (use docker info):
    Containers: 10
     Running: 7
     Paused: 0
     Stopped: 3
    Images: 128
    Server Version: 18.06.3-ce
    Storage Driver: overlay2
     Backing Filesystem: extfs
     Supports d_type: true
     Native Overlay Diff: true
    Logging Driver: json-file
    Cgroup Driver: systemd
    Plugins:
     Volume: local
     Network: bridge host macvlan null overlay
     Log: awslogs fluentd gcplogs gelf journald json-file logentries splunk syslog
    Swarm: inactive
    Runtimes: runc
    Default Runtime: runc
    Init Binary: docker-init
    containerd version: 468a545b9edcd5932818eb9de8e72413e616e86e
    runc version: a592beb5bc4c4092b1b1bac971afed27687340c5
    init version: fec3683
    Security Options:
     apparmor
     seccomp
      Profile: default
    Kernel Version: 4.13.0-41-generic
    Operating System: Ubuntu 17.10
    OSType: linux
    Architecture: x86_64
    CPUs: 4
    Total Memory: 15.66GiB
    Name: luboitvbox
    ID: K2H6:2I6N:FSBZ:S77V:R5CQ:X22B:VYTF:WZ4R:UIKC:HGOT:UCHD:GCR2
    Docker Root Dir: /var/lib/docker
    Debug Mode (client): false
    Debug Mode (server): false
    Registry: https://index.docker.io/v1/
    Labels:
    Experimental: false
    Insecure Registries:
     127.0.0.0/8
    Live Restore Enabled: false
    
    • OS (e.g. from /etc/os-release):
    NAME="Ubuntu"
    VERSION="17.10 (Artful Aardvark)"
    ID=ubuntu
    ID_LIKE=debian
    PRETTY_NAME="Ubuntu 17.10"
    VERSION_ID="17.10"
    HOME_URL="https://www.ubuntu.com/"
    SUPPORT_URL="https://help.ubuntu.com/"
    BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
    PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
    VERSION_CODENAME=artful
    UBUNTU_CODENAME=artful
    

    /kind bug /priority important-soon (?)

    kind/bug priority/important-soon lifecycle/active 
    opened by neolit123 62
  • Add IPv6 support

    Add IPv6 support

    This PR adds allows creating IPv6 Kubernetes clusters with kind and have in mind a future dual-stack implementation, considering for simplicity, only one address of each protocol.

    It adds a new option ipFamily to the v1alpha3 API that allows choosing the IP family of the cluster. To avoid issues with the different networking options the podSubnet and the serviceSubnet kubeadm values are predefined with the following values:

    	Default PodSubnet          = "10.244.0.0/16"
    	Default ServicesSubnet     = "10.96.0.0/12"
    	Default PodSubnetIPv6      = "fd00:10:244::/64"
    	Default ServicesSubnetIPv6 = "fd00:10:96::/112"
    

    We can create a Kubernetes IPv6 cluster with the following config:

    # necessary for conformance
    kind: Cluster
    apiVersion: kind.sigs.k8s.io/v1alpha3
    networking:
      ipFamily: ipv6
    nodes:
    # the control plane node
    - role: control-plane
    - role: worker
    - role: worker
    

    Test results with IPv4 and IPv6

    References:

    • https://github.com/kubernetes-sigs/kind/issues/280
    • https://docs.google.com/document/d/17e3TWWLfnIZrsVxpln9wNi4x0JVn2oHIHDYjaeENdVE/edit?ts=5c9af5b4#heading=h.on33tp91ehzk

    Fixes #280

    cncf-cla: yes lgtm size/L do-not-merge/hold tide/merge-method-squash ok-to-test 
    opened by aojea 58
  • ARM64 CI

    ARM64 CI

    per discussion in #kind slack, we should setup some CI with openlab to get kind on arm64 xref #166

    @dims was able to get arm64 working, but we'll need some set this up to keep it working once that goes in, as the maintainers do not have access to suitable arm machines to test on otherwise.

    /assign /kind feature /priority important-longterm

    kind/feature priority/important-longterm 
    opened by BenTheElder 56
  • overlay network cannot be applied when host is behind a proxy

    overlay network cannot be applied when host is behind a proxy

    Environment

    Host OS: RHEL 7.4 Host Docker version: 18.09.0 Host go version: go1.11.2 Node Image: kindest/node:v1.12.2

    kind create cluster

    [[email protected] bin]# kind create cluster
    Creating cluster 'kind-1' ...
     ✓ Ensuring node image (kindest/node:v1.12.2) 🖼
     ✓ [kind-1-control-plane] Creating node container 📦
     ✓ [kind-1-control-plane] Fixing mounts 🗻
     ✓ [kind-1-control-plane] Starting systemd 🖥
     ✓ [kind-1-control-plane] Waiting for docker to be ready 🐋
     ✗ [kind-1-control-plane] Starting Kubernetes (this may take a minute) ☸
    FATA[07:20:43] Failed to create cluster: failed to apply overlay network: exit status 1
    

    Code below in pkg/cluster/context.go is trying to extract k8s version using kubectl version command in order to download the version-specific weave net.yaml. The code is not ok:-

            // TODO(bentheelder): support other overlay networks
            if err = node.Command(
                    "/bin/sh", "-c",
                    `kubectl apply --kubeconfig=/etc/kubernetes/admin.conf -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version --kubeconfig=/etc/kubernetes/admin.conf | base64 | tr -d '\n')"`,
            ).Run(); err != nil {
                    return kubeadmConfig, errors.Wrap(err, "failed to apply overlay network")
            }
    

    Why is the output of kubectl version command, base64 encoded?

    kind/bug priority/important-soon 
    opened by senthilrch 53
  • Unstable cluster

    Unstable cluster

    When running it locally on my machine the cluster seems much more unstable than on our CI. So now cluster is created inside a privileged container, but then I am getting strange errors:

    $ kubectl cluster-info
    Unable to connect to the server: unexpected EOF
    
    $ kubectl cluster-info
    Error from server (InternalError): an error on the server ("") has prevented the request from succeeding (get services)
    
    $ kubectl cluster-info 
    error: the server doesn't have a resource type "services"
    
    triage/needs-information 
    opened by mitar 49
  • WSL2 ERROR: failed to create cluster

    WSL2 ERROR: failed to create cluster

    ERROR: failed to create cluster: ERROR: failed to create cluster: failed to init node with kubeadm: command "docker exec --privileged kind-control-plane kubeadm init --skip-phases=preflight --config=/kind/kubeadm.conf --skip-token-print --v=6" failed with error: exit status 1 Command Output: I0622 15:16:13.468494 216 initconfiguration.go:246] loading configuration from "/kind/kubeadm.conf"

    What is Expected: cluster should be created without any error.

    How to reproduce it: run below command to reproduce it : $ kind create cluster

    Anything else we need to know?: I have recently install ubuntu as virtual machine on windows 10 as wsl 2. running ubuntu on windows terminal as admin user, also installed docker and set it as non root user. below I am providing environment related information.

    ENVIRONMENT:

    Ubuntu command used $lsb_release -a

    No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 20.04.2 LTS Release: 20.04 Codename: focal

    Kubectl Installation https://kubernetes.io/docs/tasks/tools/install-kubectl-linux/#install-using-native-package-management

    Kubectl Version command used kubectl version --client

    Client Version: version.Info{ Major:"1", Minor:"21", GitVersion:"v1.21.2", GitCommit:"092fbfbf53427de67cac1e9fa54aaa09a28371d7", GitTreeState:"clean", BuildDate:"2021-06-16T12:59:11Z", GoVersion:"go1.16.5", Compiler:"gc", Platform:"linux/amd64" }

    kind Installtion :

    curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.11.1/kind-linux-amd64 chmod +x ./kind sudo mv ./kind /usr/local/bin/kind

    kind version: : command used $kind version

    kind v0.11.1 go1.16.4 linux/amd64

    docker info

    command used $docker info

    Client: Context: default Debug Mode: false Plugins: app: Docker App (Docker Inc., v0.9.1-beta3) buildx: Build with BuildKit (Docker Inc., v0.5.1-docker) scan: Docker Scan (Docker Inc., v0.8.0)

    Server: Containers: 1 Running: 0 Paused: 0 Stopped: 1 Images: 2 Server Version: 20.10.7 Storage Driver: overlay2 Backing Filesystem: extfs Supports d_type: true Native Overlay Diff: true userxattr: false Logging Driver: json-file Cgroup Driver: cgroupfs Cgroup Version: 1 Plugins: Volume: local Network: bridge host ipvlan macvlan null overlay Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog Swarm: inactive Runtimes: runc io.containerd.runc.v2 io.containerd.runtime.v1.linux Default Runtime: runc Init Binary: docker-init containerd version: d71fcd7d8303cbf684402823e425e9dd2e99285d runc version: b9ee9c6314599f1b4a7f497e1f1f856fe433d3b7 init version: de40ad0 Security Options: seccomp Profile: default Kernel Version: 5.4.72-microsoft-standard-WSL2 Operating System: Ubuntu 20.04.2 LTS OSType: linux Architecture: x86_64 CPUs: 12 Total Memory: 6.133GiB Name: LAPTOP-TN6NO0LS ID: JDCK:NRQ2:ML5P:EUMK:OBYG:76PM:5SXD:FMYK:KHCX:NDTB:IQ4R:KIBJ Docker Root Dir: /var/lib/docker Debug Mode: false Registry: https://index.docker.io/v1/ Labels: Experimental: false Insecure Registries: 127.0.0.0/8 Live Restore Enabled: false

    WARNING: No blkio throttle.read_bps_device support WARNING: No blkio throttle.write_bps_device support WARNING: No blkio throttle.read_iops_device support WARNING: No blkio throttle.write_iops_device support

    kind/bug 
    opened by piyushvj 46
  • feat: support for multiple images to kind load

    feat: support for multiple images to kind load

    closes #1905

    Usage:

    Multiple image names provided (all images present locally):

    ./kind load docker-image nginx,busybox --name master    
    
    

    Multiple image names provided (all images are not present locally):

    ./kind load docker-image nginx,busybox,python --name master
    ERROR: image: "python" not present locally
    

    One image name provided without commas (backwards compatibility):

    ./kind load docker-image nginx --name master               
    
    
    approved cncf-cla: yes lgtm size/M ok-to-test 
    opened by yashvardhan-kukreja 46
  • support KIND_CONFIG_FILE

    support KIND_CONFIG_FILE

    What would you like to be added: kind should support a KIND_CONFIG_FILE-like env variable as a CLI UX improvement.

    Why is this needed: While working with tools like direnv within a team, dev clusters creation could be limited to running kind create cluster with a side config file that kind would read rather than kind create cluster --config /path/to/file.yml

    kind/feature 
    opened by pgmillon 1
  • Hello, how can I add port mapping to my kind to cope with my increasing container ports, and how can I add data volume mount to the cluster container started by kind?

    Hello, how can I add port mapping to my kind to cope with my increasing container ports, and how can I add data volume mount to the cluster container started by kind?

    您好,请问我该如何给我的kind增加端口映射来应对我不断增加的容器端口呢以及我该如何对kind启动的集群容器增加数据卷挂载呢?

    Hello, how can I add port mapping to my kind to cope with my increasing container ports, and how can I add data volume mount to the cluster container started by kind?

    kind/support 
    opened by new-coder-fei 0
  • Docker Image Caching

    Docker Image Caching

    Hi There,

    As a newbie, I'm pretty impressed with Kind. Great work. I do have a basic caching question.

    I know kind/node image is cached in Docker Desktop. But what about additional images that are installed after the cluster is created? For instance, I'm installing Calico, Hashicorp Consul, BusyBox, etc.. but I do not see them in Docker Desktop. Does this mean every time I reinstall said images, they'll be pulled from Docker image registry?

    Reason I'm asking this is because there is a docker pull rate limit that could get exhausted very quickly if Kind is not using image caching. Also, where are images cached by Kind if not in Docker Desktop?

    Thanks! -Dipesh

    kind/support 
    opened by dvpatel 2
  • Add node build steps to Building Images section

    Add node build steps to Building Images section

    In our quick start guide we have a Building Images section that talks about being able to build custom images. It describes some of the pieces, but it doesn't actually have the steps to take to actually create the image.

    There are notes in the repo README.md file that include these steps. This adds a small amount of duplication, but this adds those steps to the Building Images section to make it easier for folks to find out what steps to take to build their images.

    cncf-cla: yes size/S 
    opened by stmcginnis 2
  • How to overwrite resource config for kube-apiserver

    How to overwrite resource config for kube-apiserver

    I am new to KinD, and want to overwrite my kube-apiserver configs to assign different values for CPI/memory.. How do I do that..? Googling tells me I need to edit my ClusterConfiguration, but not sure as the only option supported is apiServer.extraArgs and I see no options for apiserver.resources or such?

    CPU seems to be hardcoded in kubeadm to 250m: https://github.com/kubernetes/kubernetes/blob/master/cmd/kubeadm/app/phases/controlplane/manifests.go#L66

    I have also created a patch file as:

    spec:
      containers:
        - name: kube-apiserver
          resources:
            requests:
              cpu: 500m
            limits:
              cpu: 500
    

    and written it to a file and mounted it in the control plane container. Then I do this in the kind config file:

    - role: control-plane
        kubeadmConfigPatches:
          - |
            kind: JoinConfiguration
            patches:
              directory: /etc/kubernetes/manifests/patches
    ...
    

    However the configs are never picked up.

    The third approach I tried was contacting developers/community on the slack channel and there was no response.

    What would you like to be documented:

    Please provide an example of how to update the resource configuration in the static pod manifests generated by kubeadm when running kind create cluster command.

    Why is this needed:

    This will help overwrite the default value(s) hardcoded in code when running tests in Kind (or for other use cases).

    kind/documentation 
    opened by krish7919 11
  • Changing Kubernetes version documentation incomplete.

    Changing Kubernetes version documentation incomplete.

    The kind documentation uses the following as an example of changing the Kubernetes version:

    kind: Cluster
    apiVersion: kind.x-k8s.io/v1alpha4
    nodes: 
    - role: control-plane 
    - role: worker
      image: kindest/node:[email protected]:b91a2c2317a000f3a783489dfb755064177dbc3a0b2f4147d50f04825d016f55
    

    However, this configuration can lead to kind using a different version of Kubernetes for the control-plane. This causes an error when attempting to join the worker nodes. The following configuration works instead:

    kind: Cluster
    apiVersion: kind.x-k8s.io/v1alpha4
    nodes: 
    - role: control-plane
      image: kindest/node:[email protected]:b91a2c2317a000f3a783489dfb755064177dbc3a0b2f4147d50f04825d016f55
    - role: worker
      image: kindest/node:[email protected]:b91a2c2317a000f3a783489dfb755064177dbc3a0b2f4147d50f04825d016f55
    
    help wanted kind/documentation 
    opened by ScionOfDesign 4
Releases(v0.14.0)
  • v0.14.0(May 19, 2022)

    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.
    • The default node image is a Kubernetes v1.24.0 image: kindest/node:[email protected]: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:[email protected]:0866296e693efe1fed79d5e6c7af8df71fc73ae45e3679af05342239cdc5bc8e including the digest) or build your own as we may need to change the image format again in the future :sweat_smile:

    Images built for this release:

    • 1.24: kindest/node:[email protected]:0866296e693efe1fed79d5e6c7af8df71fc73ae45e3679af05342239cdc5bc8e
    • 1.23: kindest/node:[email protected]:b1fa224cc6c7ff32455e0b1fd9cbfd3d3bc87ecaa8fcb06961ed1afb3db0f9ae
    • 1.22: kindest/node:[email protected]:8135260b959dfe320206eb36b3aeda9cffcb262f4b44cda6b33f7bb73f453105
    • 1.21: kindest/node:[email protected]:f316b33dd88f8196379f38feb80545ef3ed44d9197dca1bfd48bcb1583210207
    • 1.20: kindest/node:[email protected]:6f2d011dffe182bad80b85f6c00e8ca9d86b5b8922cdf433d53575c4c5212248
    • 1.19: kindest/node:[email protected]:d9c819e8668de8d5030708e484a9fdff44d95ec4675d136ef0a0a584e587f65c
    • 1.18: kindest/node:[email protected]: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)

    • @AkihiroSuda
    • @AppalaKarthik
    • @BenTheElder
    • @k8s-ci-robot
    • @neolit123

    A special shoutout to these folks who helped report, test, and review the systemd cgroups fix:

    • @aojea
    • @cndoit18
    • @ckoenig
    • @jankoprowski
    • @longwuyuan
    • @mariomac
    • @stmcginnis
    • @Unveraenderbar

    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. 🙏

    Source code(tar.gz)
    Source code(zip)
    kind-darwin-amd64(6.30 MB)
    kind-darwin-amd64.sha256sum(84 bytes)
    kind-darwin-arm64(6.26 MB)
    kind-darwin-arm64.sha256sum(84 bytes)
    kind-linux-amd64(6.35 MB)
    kind-linux-amd64.sha256sum(83 bytes)
    kind-linux-arm64(6.29 MB)
    kind-linux-arm64.sha256sum(83 bytes)
    kind-linux-ppc64le(6.29 MB)
    kind-linux-ppc64le.sha256sum(85 bytes)
    kind-linux-s390x(6.73 MB)
    kind-linux-s390x.sha256sum(83 bytes)
    kind-windows-amd64(6.31 MB)
    kind-windows-amd64.sha256sum(85 bytes)
  • v0.13.0(May 10, 2022)

    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) https://github.com/kubernetes-sigs/kind/issues/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.
    • The default node image is a Kubernetes v1.24.0 image: kindest/node:[email protected]: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:[email protected]:406fd86d48eaf4c04c7280cd1d2ca1d61e7d0d61ddef0125cb097bc7b82ed6a1 including the digest) or build your own as we may need to change the image format again in the future :sweat_smile:

    Images built for this release:

    • 1.24: kindest/node:[email protected]:406fd86d48eaf4c04c7280cd1d2ca1d61e7d0d61ddef0125cb097bc7b82ed6a1
    • 1.23: kindest/node:[email protected]:1af0f1bee4c3c0fe9b07de5e5d3fafeb2eec7b4e1b268ae89fcab96ec67e8355
    • 1.22: kindest/node:[email protected]:6e57a6b0c493c7d7183a1151acff0bfa44bf37eb668826bf00da5637c55b6d5e
    • 1.21: kindest/node:[email protected]:ae05d44cc636ee961068399ea5123ae421790f472c309900c151a44ee35c3e3e
    • 1.20: kindest/node:[email protected]:a6ce604504db064c5e25921c6c0fffea64507109a1f2a512b1b562ac37d652f3
    • 1.19: kindest/node:[email protected]:dec41184d10deca01a08ea548197b77dc99eeacb56ff3e371af3193c86ca99f4
    • 1.18: kindest/node:[email protected]: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:

    • @aojea
    • @BenTheElder
    • @chendave
    • @dims
    • @iamtodor
    • @jpmcb
    • @k8s-ci-robot
    • @kolyshkin
    • @mkumatag
    • @pacoxu
    • @stmcginnis
    • @yxxhero
    • @zaunist
    Source code(tar.gz)
    Source code(zip)
    kind-darwin-amd64(6.30 MB)
    kind-darwin-amd64.sha256sum(84 bytes)
    kind-darwin-arm64(6.24 MB)
    kind-darwin-arm64.sha256sum(84 bytes)
    kind-linux-amd64(6.34 MB)
    kind-linux-amd64.sha256sum(83 bytes)
    kind-linux-arm64(6.22 MB)
    kind-linux-arm64.sha256sum(83 bytes)
    kind-linux-ppc64le(6.29 MB)
    kind-linux-ppc64le.sha256sum(85 bytes)
    kind-linux-s390x(6.73 MB)
    kind-linux-s390x.sha256sum(83 bytes)
    kind-windows-amd64(6.31 MB)
    kind-windows-amd64.sha256sum(85 bytes)
  • v0.12.0(Mar 7, 2022)

    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:[email protected]: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:[email protected]:0e34f0d0fd448aa2f2819cfd74e99fe5793a6e4938b328f657c8e3f81ee0dfb9 including the digest) or build your own as we may need to change the image format again in the future :sweat_smile:

    Images built for this release:

    • 1.23: kindest/node:[email protected]:0e34f0d0fd448aa2f2819cfd74e99fe5793a6e4938b328f657c8e3f81ee0dfb9
    • 1.22: kindest/node:[email protected]:1dfd72d193bf7da64765fd2f2898f78663b9ba366c2aa74be1fd7498a1873166
    • 1.21: kindest/node:[email protected]:84709f09756ba4f863769bdcabe5edafc2ada72d3c8c44d6515fc581b66b029c
    • 1.20: kindest/node:[email protected]:393bb9096c6c4d723bb17bceb0896407d7db581532d11ea2839c80b28e5d8deb
    • 1.19: kindest/node:[email protected]:81f552397c1e6c1f293f967ecb1344d8857613fb978f963c30e907c32f598467
    • 1.18: kindest/node:[email protected]:e3dca5e16116d11363e31639640042a9b1bd2c90f85717a7fc66be34089a8169
    • 1.17: kindest/node:[email protected]:e477ee64df5731aa4ef4deabbafc34e8d9a686b49178f726563598344a3898d5
    • 1.16: kindest/node:[email protected]:64bac16b83b6adfd04ea3fbcf6c9b5b893277120f2b2cbf9f5fa3e5d4c2260cc
    • 1.15: kindest/node:[email protected]:9dfc13db6d3fd5e5b275f8c4657ee6a62ef9cb405546664f2de2eabcfd6db778
    • 1.14: kindest/node:[email protected]: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
    Source code(tar.gz)
    Source code(zip)
    kind-darwin-amd64(6.32 MB)
    kind-darwin-amd64.sha256sum(84 bytes)
    kind-darwin-arm64(6.61 MB)
    kind-darwin-arm64.sha256sum(84 bytes)
    kind-linux-amd64(6.35 MB)
    kind-linux-amd64.sha256sum(83 bytes)
    kind-linux-arm64(6.39 MB)
    kind-linux-arm64.sha256sum(83 bytes)
    kind-linux-ppc64le(6.40 MB)
    kind-linux-ppc64le.sha256sum(85 bytes)
    kind-linux-s390x(6.71 MB)
    kind-linux-s390x.sha256sum(83 bytes)
    kind-windows-amd64(6.41 MB)
    kind-windows-amd64.sha256sum(85 bytes)
  • v0.11.1(May 28, 2021)

    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:[email protected]:fae9a58f17f18f06aeac9772ca8b5ac680ebbed985e266f711d936e91d113bad including the digest) or build your own as we may need to change the image format again in the future :sweat_smile:

    Images built for this release:

    • 1.21: kindest/node:[email protected]:69860bda5563ac81e3c0057d654b5253219618a22ec3a346306239bba8cfa1a6
    • 1.20: kindest/node:[email protected]:cbeaf907fc78ac97ce7b625e4bf0de16e3ea725daf6b04f930bd14c67c671ff9
    • 1.19: kindest/node:[email protected]:07db187ae84b4b7de440a73886f008cf903fcf5764ba8106a9fd5243d6f32729
    • 1.18: kindest/node:[email protected]:7af1492e19b3192a79f606e43c35fb741e520d195f96399284515f077b3b622c
    • 1.17: kindest/node:[email protected]:66f1d0d91a88b8a001811e2f1054af60eef3b669a9a74f9b6db871f2f1eeed00
    • 1.16: kindest/node:[email protected]:83067ed51bf2a3395b24687094e283a7c7c865ccc12a8b1d7aa673ba0c5e8861
    • 1.15: kindest/node:[email protected]:b920920e1eda689d9936dfcf7332701e80be12566999152626b2c9d730397a95
    • 1.14: kindest/node:[email protected]:f8a66ef82822ab4f7569e91a5bccaf27bceee135c1457c512e54de8c6f7219f8

    Additionally the following image is known to work well:

    • 1.22: kindest/node:[email protected]:b8bda84bb3a190e6e028b1760d277454a72267a5454b57db34437c34a588d047
    • 1.23: kindest/node:[email protected]:49824ab1727c04e56a21a5d8372a402fcd32ea51ac96a2706a12af38934f81ac

    NOTE: these node images support amd64 and arm64 now. It remains possible to build custom images for other architectures (see the docs).

    Source code(tar.gz)
    Source code(zip)
    kind-darwin-amd64(6.47 MB)
    kind-darwin-arm64(6.39 MB)
    kind-linux-amd64(6.50 MB)
    kind-linux-arm64(6.19 MB)
    kind-linux-ppc64le(6.26 MB)
    kind-windows-amd64(6.58 MB)
  • v0.11.0(May 18, 2021)

    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:[email protected]: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:[email protected]:fae9a58f17f18f06aeac9772ca8b5ac680ebbed985e266f711d936e91d113bad including the digest) or build your own as we may need to change the image format again in the future :sweat_smile:

    Images built for this release:

    • 1.21: kindest/node:[email protected]:fae9a58f17f18f06aeac9772ca8b5ac680ebbed985e266f711d936e91d113bad
    • 1.20: kindest/node:[email protected]:e645428988191fc824529fd0bb5c94244c12401cf5f5ea3bd875eb0a787f0fe9
    • 1.19: kindest/node:[email protected]:7664f21f9cb6ba2264437de0eb3fe99f201db7a3ac72329547ec4373ba5f5911
    • 1.18: kindest/node:[email protected]:530378628c7c518503ade70b1df698b5de5585dcdba4f349328d986b8849b1ee
    • 1.17: kindest/node:[email protected]:c581fbf67f720f70aaabc74b44c2332cc753df262b6c0bca5d26338492470c17
    • 1.16: kindest/node:[email protected]:430c03034cd856c1f1415d3e37faf35a3ea9c5aaa2812117b79e6903d1fc9651
    • 1.15: kindest/node:[email protected]:8d575f056493c7778935dd855ded0e95c48cb2fab90825792e8fc9af61536bf9
    • 1.14: kindest/node:[email protected]: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 node
    • kind 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)

    • @AkihiroSuda
    • @amwat
    • @aojea
    • @atoato88
    • @BenTheElder
    • @brb
    • @Colstuwjx
    • @houfangdong
    • @imjasonh
    • @imw
    • @jason-kane
    • @jsievenpiper
    • @k8s-ci-robot
    • @kjellkvinge
    • @knabben
    • @matzew
    • @mauilion
    • @MaXinjian
    • @micahhausler
    • @OhMyMndy
    • @pacoxu
    • @rudeigerc
    • @tao12345666333
    • @tokers
    • @vainu-lauri
    • @yashvardhan-kukreja
    Source code(tar.gz)
    Source code(zip)
    kind-darwin-amd64(6.47 MB)
    kind-darwin-arm64(6.39 MB)
    kind-linux-amd64(6.50 MB)
    kind-linux-arm64(6.19 MB)
    kind-linux-ppc64le(6.26 MB)
    kind-windows-amd64(6.58 MB)
  • v0.10.0(Jan 23, 2021)

    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 :heart:
    • 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:[email protected]:8f7ea6e7642c0da54f04a7ee10431549c0257315b3a634f6ef2fecaaedb19bab
    • We're only actively supporting Kubernetes v1.14.0+, however limited best effort functionality still encompases v1.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 :sweat_smile:

    Images built for this release:

    • 1.20: kindest/node:[email protected]:8f7ea6e7642c0da54f04a7ee10431549c0257315b3a634f6ef2fecaaedb19bab
    • 1.19: kindest/node:[email protected]:a70639454e97a4b733f9d9b67e12c01f6b0297449d5b9cbbef87473458e26dca
    • 1.18: kindest/node:[email protected]:5c1b980c4d0e0e8e7eb9f36f7df525d079a96169c8a8f20d8bd108c0d0889cc4
    • 1.17: kindest/node:[email protected]:7b6369d27eee99c7a85c48ffd60e11412dc3f373658bc59b7f4d530b7056823e
    • 1.16: kindest/node:[email protected]:c10a63a5bda231c0a379bf91aebf8ad3c79146daca59db816fb963f731852a99
    • 1.15: kindest/node:[email protected]:67181f94f0b3072fb56509107b380e38c55e23bf60e6f052fbd8052d26052fb5
    • 1.14: kindest/node:[email protected]: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)

    • @AkihiroSuda
    • @AndiDog
    • @aojea
    • @arangamani
    • @BenTheElder
    • @FedericoAntoniazzi
    • @frelon
    • @Git-Jiro
    • @goneri
    • @gunadhya
    • @Hellcatlk
    • @Huang-Wei
    • @jbarrick-mesosphere
    • @jessehu
    • @jlucktay
    • @jsoref
    • @k8s-ci-robot
    • @kensipe
    • @knabben
    • @micarlise
    • @mjpitz
    • @nicholasdille
    • @nicks
    • @yangy2000
    Source code(tar.gz)
    Source code(zip)
    kind-darwin-amd64(7.05 MB)
    kind-linux-amd64(7.10 MB)
    kind-linux-arm64(6.64 MB)
    kind-linux-ppc64le(6.71 MB)
    kind-windows-amd64(7.04 MB)
  • v0.9.0(Sep 15, 2020)

    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:[email protected]:98cf5288864662e37115e362b23e4369c8c4a408f99cbc06e58ac30ddc721600
    • Node images built with kind v0.9.0 require using kind v0.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 https://github.com/kubernetes-sigs/kind/pull/1744#issuecomment-692905480
    • Building Kubernetes with bazel will only work with Kubernetes v1.15+
      • Building without bazel still works back to v1.13.0
    • v1alpha3 kind config is no longer supported. Please upgrade to v1alpha4 (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 (https://github.com/containerd/cri/pull/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 :sweat_smile:

    Images built for this release:

    • 1.19: kindest/node:[email protected]:98cf5288864662e37115e362b23e4369c8c4a408f99cbc06e58ac30ddc721600
    • 1.18: kindest/node:[email protected]:f4bcc97a0ad6e7abaf3f643d890add7efe6ee4ab90baeb374b4f41a4c95567eb
    • 1.17: kindest/node:[email protected]:5240a7a2c34bf241afb54ac05669f8a46661912eab05705d660971eeb12f6555
    • 1.16: kindest/node:[email protected]:a89c771f7de234e6547d43695c7ab047809ffc71a0c3b65aa54eda051c45ed20
    • 1.15: kindest/node:[email protected]:d9b939055c1e852fe3d86955ee24976cab46cba518abcb8b13ba70917e6547a6
    • 1.14: kindest/node:[email protected]:ce4355398a704fca68006f8a29f37aafb49f8fc2f64ede3ccd0d9198da910146
    • 1.13: kindest/node:[email protected]: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
    Source code(tar.gz)
    Source code(zip)
    kind-darwin-amd64(7.08 MB)
    kind-linux-amd64(7.07 MB)
    kind-linux-arm64(6.64 MB)
    kind-linux-ppc64le(6.71 MB)
    kind-windows-amd64(7.02 MB)
  • v0.8.1(May 2, 2020)

  • v0.8.0(May 1, 2020)

    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.2 image: kindest/node:[email protected]:7b27a6d0f2517ff88ba444025beae41491b016bc6af573ba467b70c5e8e0d85f
    • KIND v0.8.0 requires node images built with v0.8.0+.
      • These new images should be mostly backwards compatible for kind v0.5.0+
    • The default docker network for nodes is now kind instead 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 :tm: 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 the kind network with some totally other range if you wish.
    • You may need to migrate to the new featureGates config 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 :tm:
    • IPv6 Clusters no longer require modifying docker daemon settings
    • Kubernetes 1.18+ should work on hosts using the iptables nft backend
    • kind delete clusters --all for deleting all your clusters
    • New top level featureGates field in Cluster config for enabling feature gates
    • Upgraded dependencies broadly, including library packages, go, containerd, CNI, etc...
    • NO_COLOR (no-color.org) support
    • Experimental podman support
      • 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 featureGates config option for controlling cluster featuregates
    • Shiny new WorkGroup-K8s-Infra based infrastructure for Kubernetes CI builds
    • Support for KIND_CLUSTER_NAME environment 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 :sweat_smile:

    Images built for this release:

    • 1.18: kindest/node:[email protected]:7b27a6d0f2517ff88ba444025beae41491b016bc6af573ba467b70c5e8e0d85f
    • 1.17: kindest/node:[email protected]:ab3f9e6ec5ad8840eeb1f76c89bb7948c77bbf76bcebe1a8b59790b8ae9a283a
    • 1.16: kindest/node:[email protected]:7175872357bc85847ec4b1aba46ed1d12fa054c83ac7a8a11f5c268957fd5765
    • 1.15: kindest/node:[email protected]:6cc31f3533deb138792db2c7d1ffc36f7456a06f1db5556ad3b6927641016f50
    • 1.14: kindest/node:[email protected]:6cd43ff41ae9f02bb46c8f455d5323819aec858b99534a290517ebc181b443c6
    • 1.13: kindest/node:[email protected]:214476f1514e47fe3f6f54d0f9e24cfb1e4cda449529791286c7161b7f9c08e7
    • 1.12: kindest/node:[email protected]:faeb82453af2f9373447bb63f50bae02b8020968e0889c7fa308e19b348916cb
    • 1.11: kindest/node:[email protected]:74c8740710649a3abb169e7f348312deff88fc97d74cfb874c5095ab3866bb42

    EDIT: 1.11.X does not work. See: https://github.com/kubernetes-sigs/kind/issues/1565

    Fixes

    • Avoid potentially slow sync during 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)

    • @aledbf
    • @amwat
    • @Anuj2512
    • @aojea
    • @BenTheElder
    • @boddumanohar
    • @chuckha
    • @darkowlzz
    • @eightlimbed
    • @gurjeet
    • @JamesLaverack
    • @jroper
    • @k8s-ci-robot
    • @liggitt
    • @longkb
    • @maelvls
    • @narendrakangralkar
    • @oke-py
    • @panzhc
    • @rajalokan
    • @ryanhartje
    • @sayboras
    • @slimm609
    • @stevesloka
    • @tao12345666333
    • @zegl
    • @zhlhahaha
    Source code(tar.gz)
    Source code(zip)
    kind-darwin-amd64(9.54 MB)
    kind-linux-amd64(9.66 MB)
    kind-linux-arm(8.62 MB)
    kind-linux-arm64(9.26 MB)
    kind-linux-ppc64le(9.39 MB)
    kind-windows-amd64(9.31 MB)
  • v0.7.0(Jan 14, 2020)

    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.0 image kindest/node:[email protected]:9512edae126da271b66b990b6fff768fbb7cd786c7d39e86bdf55906352fdf62
    • Node images built with kind v0.7.0 have many improvements and require kind v0.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-path based 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:[email protected]:b91a2c2317a000f3a783489dfb755064177dbc3a0b2f4147d50f04825d016f55) or build your own as we may need to change the image format again in the future :sweat_smile:

    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 cluster and kind export kubeconfig will preserve extra fields from kubeadm, notably apiVersion and kind (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)

    • @amwat
    • @aojea
    • @BenTheElder
    • @danielhelfand
    • @darkowlzz
    • @daxmc99
    • @dustinspecker
    • @HeavyWombat
    • @jpreese
    • @k8s-ci-robot
    • @kandros
    • @kezmorris
    • @longkb
    • @marcindulak
    • @MasayaAoyama
    • @matti
    • @truongnh1992
    • @ytsarev
    Source code(tar.gz)
    Source code(zip)
    kind-darwin-amd64(8.81 MB)
    kind-linux-amd64(8.92 MB)
    kind-linux-arm(7.90 MB)
    kind-linux-arm64(8.73 MB)
    kind-linux-ppc64le(8.80 MB)
    kind-windows-amd64(9.01 MB)
  • v0.6.1(Dec 4, 2019)

    This is a small patch release over v0.6.0.

    Notably:

    • Relaxed protocol and propagation in 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:[email protected]:70ce6ce09bee5c34ab14aec2b84d6edb260473a60638b1b095470a3a0f95ebec
    • kindest/node:[email protected]:18c4ab6b61c991c249d29df778e651f443ac4bcd4e6bdd37e0c83c0d33eaae78
    • kindest/node:[email protected]:bdd3731588fa3ce8f66c7c22f25351362428964b6bca13048659f68b9e665b72
    • kindest/node:[email protected]:1fe072c080ee129a2a440956a65925ab3bbd1227cf154e2ade145b8e59a584ad
    • kindest/node:[email protected]:c5aeca1433e3230e6c1a96b5e1cd79c90139fd80242189b370a3248a05d77118
    • kindest/node:[email protected]:8ebe805201da0a988ee9bbcc2de2ac0031f9264ac24cf2a598774f1e7b324fe1

    The default node image is now kindest/node:[email protected]:70ce6ce09bee5c34ab14aec2b84d6edb260473a60638b1b095470a3a0f95ebec

    Source code(tar.gz)
    Source code(zip)
    kind-darwin-amd64(9.14 MB)
    kind-linux-amd64(9.30 MB)
    kind-linux-arm(8.24 MB)
    kind-linux-arm64(9.07 MB)
    kind-linux-ppc64le(9.20 MB)
    kind-windows-amd64(8.99 MB)
  • v0.6.0(Nov 18, 2019)

    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 KUBECONFIG environment variable before creating a cluster, or by setting the --kubeconfig flag on cluster creation
    • 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.io to 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.3 image kindest/node:[email protected]:bced4bc71380b59873ea3917afe9fb35b00e174d22f50c7cab9188eac2b0fb88

    • Node images built with kind v0.6.0 have many improvements and require kind v0.5.0+, images built with v0.4.0 / v0.3.0 should continue to work with v0.6.0 however.

    New Features

    • There is a new kind.x-k8s.io/v1alpha4 config 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 export kubeconfig to re-export credentials in the way kind create cluster now does.
    • Significant logging rework
      • -q / --quiet flag to silence status messages / error output
      • Logging with -v 1 / --verbosity 1 or 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 TERM to dumb
    • Enhanced kind version output with more details
      • Builds with make build or make install include git commit
      • The simplified version can be obtained with kind version -q
    • Mounts in extraMounts may have relative paths on the host, resolved against the working directory of kind
    • 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:[email protected]:bced4bc71380b59873ea3917afe9fb35b00e174d22f50c7cab9188eac2b0fb88) or build your own as we may need to change the image format again in the future :sweat_smile:

    • 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.

    https://github.com/kubernetes/enhancements/blob/master/keps/sig-cloud-provider/20190729-building-without-in-tree-providers.md

    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 kubeconfig does 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
    Source code(tar.gz)
    Source code(zip)
    kind-darwin-amd64(9.14 MB)
    kind-linux-amd64(9.29 MB)
    kind-linux-arm(8.24 MB)
    kind-linux-arm64(9.07 MB)
    kind-linux-ppc64le(9.20 MB)
    kind-windows-amd64(8.99 MB)
  • v0.5.1(Aug 21, 2019)

    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: https://github.com/kubernetes-sigs/kind/issues/792 for more details on what went wrong and how we fixed it.

    Source code(tar.gz)
    Source code(zip)
    kind-darwin-amd64(36.44 MB)
    kind-linux-amd64(39.18 MB)
    kind-linux-arm(34.09 MB)
    kind-linux-arm64(37.82 MB)
    kind-linux-ppc64le(38.07 MB)
    kind-windows-amd64(36.63 MB)
  • v0.5.0(Aug 20, 2019)

    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.3 image kindest/node:[email protected]:27e388752544890482a86b90d8ac50fcfa63a2e8656a96ec5337b902ec8e5157
    • Node images built with kind v0.5.0 will require kind v0.5.0+, images built with v0.4.0 / v0.3.0 should continue to work with v0.5.0 however.

    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 :sweat_smile:

    • kindest/node:[email protected]:27e388752544890482a86b90d8ac50fcfa63a2e8656a96ec5337b902ec8e5157
    • kindest/node:[email protected]:464a43f5cf6ad442f100b0ca881a3acae37af069d5f96849c1d06ced2870888d
    • kindest/node:[email protected]:2f5f882a6d0527a2284d29042f3a6a07402e1699d792d0d5a9b9a48ef155fa2a
    • kindest/node:[email protected]:e43003c6714cc5a9ba7cf1137df3a3b52ada5c3f2c77f8c94a4d73c82b64f6f3
    • kindest/node:[email protected]:bb22258625199ba5e47fb17a8a8a7601e536cd03456b42c1ee32672302b1f909

    Fixes

    • Worked around Kubernetes build changes pending in v1.16, kind again supports building Kubernetes at HEAD
    • kind load docker-image now correctly avoids loading images that are already loaded :warning:
    • 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/kmsg causing kubelet to not start
    • / is rshared in new node (images) for mount propagation (more mounts should be shared now)
    • LimitNOFILE in 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! :smile:

    Users whose commits are in this release (alphabetically by user name)

    • @alfsuse
    • @aojea
    • @barkbay
    • @BenTheElder
    • @bonifaido
    • @electrofelix
    • @ethan-daocloud
    • @jbarrick-mesosphere
    • @k8s-ci-robot
    • @munnerz
    • @PatrickLang
    • @tao12345666333
    • @WalkerGriggs
    Source code(tar.gz)
    Source code(zip)
    kind-darwin-amd64(36.42 MB)
    kind-linux-amd64(39.16 MB)
    kind-linux-arm(34.09 MB)
    kind-linux-arm64(37.69 MB)
    kind-linux-ppc64le(38.07 MB)
  • v0.4.0(Jun 26, 2019)

    v0.4.0 brings improved networking features in particular, including initial IPv6 support and additional node port forwards. It also continues to improve speed and reliability (hopefully! :upside_down_face:)

    Breaking Changes

    • The default node image is a Kubernetes v1.15.0 image kindest/node:[email protected]:b4d092fd2b507843dd096fe6c85d06a27a0cbd740a0b32a880fe61aba24bb478
    • The deprecated kind.sigs.k8s.io/v1alpha2 version of config was removed, please switch to kind.sigs.k8s.io/v1alpha3
    • kind build node-image --type=apt was removed. Please use kind build node-image or kind build node-image --type=bazel instead, or one of the pre-built images. A future release will re-work these commands and add support for building from upstream release tarballs.

    New Features

    • Additional node port forwards may be configured with the nodes[].extraPortMappings of Cluster configuration in kind.sigs.k8s.io/v1alpha3. This can be used to access workloads more easily from the host. Expect guides using this soon!
    • Limited IPv6 support. The networking.ipFamily may be set to ipv6 in kind.sigs.k8s.io/v1alpha3 Cluster configuration to create an ipv6 enabled cluster on Linux. We have set up continuous Kubernetes conformance testing with IPv6 enabled and are working to fix the tests
    • A warning is emitted if the chosen cluster name is too long and likely to cause the generated node names to be too long.
    • make install now supports overriding INSTALL to specify an alternate tool to install and ensures the output directory
    • Support / documentation for using kind on WSL2.
    • The kind load ... sub-commands now avoid loading images that are already present
    • kubeadm v1beta2 config is now use opportunistically for recent enough Kubernetes versions
    • Reduced startup time for single-node clusters in particular

    New Node have been Images for kind v0.4.0, please use these exact images or build your own as we may need to change the image format again in the future :sweat_smile:

    • kindest/node:[email protected]:b4d092fd2b507843dd096fe6c85d06a27a0cbd740a0b32a880fe61aba24bb478
    • kindest/node:[email protected]:583166c121482848cd6509fbac525dd62d503c52a84ff45c338ee7e8b5cfe114
    • kindest/node:[email protected]:f3f1cfc2318d1eb88d91253a9c5fa45f6e9121b6b1e65aea6c7ef59f1549aaaf
    • kindest/node:[email protected]:bcb79eb3cd6550c1ba9584ce57c832dcd6e442913678d2785307a7ad9addc029
    • kindest/node:[email protected]:176845d919899daef63d0dbd1cf62f79902c38b8d2a86e5fa041e491ab795d33

    Fixes

    • The generated KUBECONFIG file references the API Server by listen address (IP) instead of localhost (domain), which is more correct and should work on systems without a valid localhost entry (!)
    • The new kind images should work on ipv4 only hosts with ipv6 fully disabled
    • The node subnet is properly added included in NO_PROXY on the nodes when proxy settings are detected
    • Clusters with multiple control plane nodes now have proper healthchecks of the API servers in the external loadbalancer
    • Minor cleanup and typo fixes

    Contributors

    Thanks again to everyone who committed to this release! You all are the best! :heart:

    Alphabetically by user name:

    • @alisondy
    • @amwat
    • @aojea
    • @BenTheElder
    • @fabriziopandini
    • @fllaca
    • @jieyu
    • @k8s-ci-robot
    • @kaspernissen
    • @mistydemeo
    • @PatrickLang
    • @praseodym
    • @xhzhf
    • @yeya24
    • @ytinirt
    • @zegl
    Source code(tar.gz)
    Source code(zip)
    kind-darwin-amd64(34.35 MB)
    kind-linux-amd64(34.58 MB)
    kind-linux-arm64(33.28 MB)
    kind-linux-ppc64le(33.54 MB)
    kind-windows-amd64(34.40 MB)
  • v0.3.0(May 17, 2019)

    This release focused on improving the speed and reliability of cluster creation, networking, and bug fixes. A number of breaking changes were required, but Nodes should be simpler, smaller, faster, and more reliable.

    Breaking Changes

    IMPORTANT: Breaking Image Changes

    kind v0.3+ requires new node images versus v0.2.1 and earlier. A number of important internal improvements were made that required changing how cluster bootup is performed. The following images we have previously published are incompatible with kind v0.3+:

    • kindest/node:v1.11.3
    • kindest/node:v1.12.2
    • kindest/node:v1.12.3
    • kindest/node:v1.13.2
    • kindest/node:v1.13.4
    • kindest/node:v1.14.0

    The following images require unreleased versions of kind between v0.3.0 and v0.2.1, please do not use them:

    • kindest/node:v1.14.1

    For 0.3+ we are pushing the following images:

    • kindest/[email protected]:33539d830a6cf20e3e0a75d0c46a4e94730d78c7375435e6b49833d81448c319
    • kindest/node:[email protected]:9e07014fb48c746deb98ec8aafd58c3918622eca6063e643c6e6d86c86e170b4
    • kindest/node:[email protected]:cc6e1a928a85c14b52e32ea97a198393fb68097f14c4d4c454a8a3bc1d8d486c
    • kindest/node:[email protected]:abd0275ead5ddfd477b7bc491f71957d7dd75408a346834ffe8a9bee5fbdc15b

    We hope not to make further breaking changes to the images, but strongly recommend pinning images by sha256, the default image is pinned to a particular sha. This can be done with --image=kindest/node:[email protected]:hash. For example: kind create cluster --image=kindest/node:[email protected]:cc6e1a928a85c14b52e32ea97a198393fb68097f14c4d4c454a8a3bc1d8d486c

    • Default clusters will now be Kubernetes v1.14.2, the default node image is now kindest/[email protected]:33539d830a6cf20e3e0a75d0c46a4e94730d78c7375435e6b49833d81448c319

    • Kubernetes on the nodes now uses CRI (containerd) instead of dockershim (dockerd) inside the "node" docker containers. Please note that details underlying Kubernetes are not guaranteed and may change again in the future, however we are still warning about this particular change as some advanced users depended on these details anyhow.

    • Similarly, the default CNI / networking setup changed, kind now sets a podSubnet and masquerades outbound pod traffic with a new CNI setup. This subnet is defaulted but is now configurable and the entire CNI setup can be disabled (see features below).

    • Building kind now requires go modules (using any upstream supported go version) or using the new Makefile. Pre-built binaries for all platforms are included with this release. Please consider using one of the binaries in your CI setups, or at least pinning to a tagged release.

    New Features

    • The default CNI can be disabled with the Cluster.networking.disableDefaultCNI config field, making it easier to experiment with your own CNI.
    • The Pod Subnet is now configurable with Cluster.networking.podSubnet
    • kind completion bash is now supported to source shell completions.
      • WARNING: we are considering renaming this to align better with the [verb] [noun] Kubernetes style CLI structure.
    • Limited PPC64LE support (requires building your own images)
    • The kind command line binary is now built reproducibly
      • building now only requires make / docker on the host as an alternative to go 1.11+ with modules
    • kind now runs a minimal and lightweight CNI setup
    • internal progress on IPv6 support
    • internal progress on cluster reboot support
    • kind is now versioned with go modules

    Fixes

    • We've improved auto-detecting the kubernetes source location for kind build node-image
    • Cluster bootup should be even faster and more reliable in constrained environments.
      • simplified startup logic with less waiting
      • Kubernetes images are fully preloaded at build time
      • our networking setup is now somewhat custom, and is simpler and lighter
    • kind export logs should be less likley to flake with large numbers of nodes or log files, internally we've combined most of the streams.
    • More improvements to proxy handling, though kind may still not work correctly in proxied environments.
    • /sys/class/dmi/id/product_name is faked to kind where applicable, this avoids Kubernetes detecting if kind is running on GCE.

    Contributors

    Thanks again to everyone who committed to this release! :heart:

    Alphabetically by user name:

    • @alejandrox1
    • @ameukam
    • @aojea
    • @BenTheElder
    • @dims
    • @fiunchinho
    • @fstab
    • @k8s-ci-robot
    • @mkumatag
    • @neolit123
    • @paranoidaditya
    • @sohankunkerkar
    • @steffengy
    • @tao12345666333
    Source code(tar.gz)
    Source code(zip)
    kind-darwin-amd64(34.35 MB)
    kind-linux-amd64(34.56 MB)
    kind-linux-arm64(33.22 MB)
    kind-linux-ppc64le(33.55 MB)
    kind-windows-amd64(34.40 MB)
  • 0.2.1(Mar 28, 2019)

    0.2.1 is a bug fix release

    Breaking Changes

    NONE

    New Features

    • The hostpath provisioner is now enabled by default (#397)

    Fixes

    • fix kind build node-image on macOS, previously --type=bazel and --type=docker (the default) did not work properly on not-Linux in 0.2.0 (#413)
    • fix possible panic in failed kind create cluster calls, previously if multiple nodes failed to come up kind could panic (#407)

    Contributors

    Thanks to everyone who committed to this release! ❤️

    • @BenTheElder
    • @joejulian
    • @k8s-ci-robot
    • @neolit123
    • @akutz
    Source code(tar.gz)
    Source code(zip)
    kind-darwin-amd64(33.48 MB)
    kind-linux-amd64(33.69 MB)
    kind-linux-arm64(32.42 MB)
    kind-windows-amd64(33.53 MB)
  • 0.2.0(Mar 20, 2019)

    Breaking Changes

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

    New Features

    • Cluster bootup should be faster on Linux in particular, many tasks are now handled in parallel
    • The CNI (weave) is bundled in the node-image, clusters should work without internet access if kindest/node is pulled ahead of time
    • support for multiple-control planes with an external-load balancer, I.E. """HA""" clusters
    • v1alpha3 now supports cluster-wide networking options, which allow for setting the API server listen address and port on the host
    • proxy support is improved
      • http_proxy, https_proxy, and no_proxy are supported instead of their uppercase equivilants if the uppercase values are not set
      • the nodes's docker daemons will be configured with proxy settings from the host (thanks
    • Paths on the host may be bind-mounted to nodes using the new extraMounts field on nodes, to E.G. share a directory with the host and a node
    • We have a new documentation site https://kind.sigs.k8s.io/ :tada:
      • we have a logo now
    • kind is CNCF certified conformant
    • kind should work on ARM, though kubernetes images will need to be built locally for now
    • kind load docker-image and kind load image-archive are now supported for side-loading images into your cluster
    • kubeadm output from init and join will be printed when the kind loglevel is debug
    • kind is now developed with go modules instead of dep
    • Improved usage output for kind create cluster on Windows

    Fixes

    • CNI was upgraded to 0.7.5 in the base image
    • Docker was upgraded to 18.06.3 with patched runc
    • kubelet disk eviction and image GC are disabled for kind clusters, this prevents various failures when the host has low disk space. As kind clusters do not run on dedicated hosts, we configure Kubernetes not to reserve disk overhead.
    • Docker image archives are chowned to root:root in the node image, fixing user namespace remapping support
    • No emoji are re-used in CLI output, every action now has a unique emoji

    Contributors

    Thanks to everyone who committed to this release! :heart:

    Alphabetically by user name:

    • @alejandrox1
    • @ameukam
    • @aojea
    • @bart0sh
    • @BenTheElder
    • @devaii
    • @dims
    • @dlespiau
    • @fabriziopandini
    • @idealhack
    • @k8s-ci-robot
    • @Katharine
    • @lucperkins
    • @mitar
    • @munnerz
    • @neolit123
    • @pablochacin
    • @phisco
    • @RafalKorepta
    • @rimusz
    • @rlenferink
    • @steffengy
    • @stevesloka
    • @tao12345666333
    • @vasrem
    • @ZachEddy
    Source code(tar.gz)
    Source code(zip)
    kind-darwin-amd64(33.46 MB)
    kind-linux-amd64(33.68 MB)
    kind-linux-arm64(32.43 MB)
    kind-windows-amd64(33.52 MB)
  • 0.1.0(Jan 16, 2019)

    This release contains many exciting features! Amongst other things we now have support for multi-node clusters thanks to @fabriziopandini, and fixes have been made for kind on Windows.

    UPDATE 2019-02-11

    Due to CVE-2019-5736 ("the runc escape")

    kindest/node:[email protected]:d070e091e7c0e515a37d0834ea72828b2338acdc4bc7a13cbb84274fb14e5e83 or: kindest/node:[email protected]:d1af504f20f3450ccb7aed63b67ec61c156f9ed3e8b0d973b3dee3c95991753c

    Should be used instead of the default image in this release. Example:

    kind create cluster --image=kindest/node:[email protected]:d1af504f20f3450ccb7aed63b67ec61c156f9ed3e8b0d973b3dee3c95991753c
    

    In the future we are looking at not pinning to an exact image by default, so that minimal fixes can be silently pushed. We are additionally hoping to adopt rootless containers once support lands in Kubernetes.


    Breaking changes since 0.1.0

    • Default clusters will now be Kubernetes v1.13.2, and the default node image is now kindest/node:[email protected]:e14edfa4950e009fe560499c9db6e89daae8bd18bcb372caca6d321a86c52cda
    • nodeLifecycleHooks are no longer supported in the config, we believe this feature was unused and will revisit it later, if you need this, please file an issue with your use case!
    • Deleting a cluster now attempts to delete the cluster specific KUBECONFIG file on the host (thanks @blakestoddard!)

    New Features

    • The current kind Config is now at kind.sigs.k8s.io/v1alpha2, with support for multi-node clusters! (thanks @fabriziopandini!)
    • The default image was upgraded to Kubernetes v1.13.2 (see above)
    • kind should now work on hosts where userns remap is enabled in the docker daemon (thanks @vasrem!)
    • Improved documentation (thanks @alejandrox1, @jimangel, @tao12345666333, @k8k, @timoreimann, @chuckha, @superbrothers, @benmoss!)
    • kubeadm's config is now internally v1beta1 when new enough Kubernetes images are used, this should improve stable support for future Kubernetes versions. Additionally all config objects are populated, so they may be patched via patches in kind's config.
    • When removing a KUBECONFIG file, we attempt to detect if the environment variable is set and warn about unsetting it (thanks @blakestoddard, @manparvesh!)
    • The base image now contains conntrack, in order to support installing recent kubeadm packages. by default it is now kindest/base:v20181203-d055041
    • kind build node-image now supports a --kube-root flag to explicitly specify the path to Kubernetes's source code, if unset kind will continue to auto-detect this via go's build tooling. (thanks @inercia!)

    Fixes

    • On Windows the KUBECONFIG files should now be placed in the default directory correctly (we now use the homedir util from client-go)
    • On Windows patching kubeadm config should work correctly
    • Recent kubeadm debian packages should be installable in the base image after adding conntrack (see above)

    Committers to this release are:

    • @BenTheElder
    • @fabriziopandini
    • @kris-nova
    • @blakestoddard
    • @jimangel
    • @tao12345666333
    • @alejandrox1
    • @manparvesh
    • @inercia
    • @superbrothers
    • @chuckha
    • @timoreimann
    • @k8k
    • @vincepri
    • @k8s-ci-robot

    Thank you for your contributions! Additionally, special thanks to @neolit123, @krzyzacy, @munnerz, and @amwat for PR reviews!

    Source code(tar.gz)
    Source code(zip)
    kind-darwin-amd64(36.00 MB)
    kind-linux-amd64(36.29 MB)
    kind-windows-amd64(36.13 MB)
  • 0.0.1(Nov 29, 2018)

    UPDATE 2019-02-11

    Due to CVE-2019-5736 ("the runc escape")

    kindest/node:[email protected]:2cc6e8153dbe32db0b962cda060e193615951ae8d2a0b808535726a9b6b5e583 or kindest/node:[email protected]:d070e091e7c0e515a37d0834ea72828b2338acdc4bc7a13cbb84274fb14e5e83 or: kindest/node:[email protected]:d1af504f20f3450ccb7aed63b67ec61c156f9ed3e8b0d973b3dee3c95991753c

    Should be used instead of the default image in this release. Example:

    kind create cluster --image=kindest/node:[email protected]:d1af504f20f3450ccb7aed63b67ec61c156f9ed3e8b0d973b3dee3c95991753c
    

    In the future we are looking at not pinning to an exact image by default, so that minimal fixes can be silently pushed. We are additionally hoping to adopt rootless containers once support lands in Kubernetes.

    Please consider upgrading to kind 0.1.0 or newer as well.


    UPDATE: Kubernetes v1.12.2 is affected by CVE-2018-1002105; when using kind create cluster please set the image to a non-default image via the --image flag. The following Kubernetes v1.12.3 image should be suitable: kindest/node:[email protected]:f0ecb1066697d9417365ca58410132e512ce2010763470bb28c1e8f7fef55464

    A patch release will be made to upgrade this default, see https://github.com/kubernetes-sigs/kind/issues/180.


    kind is still alpha-grade software, and as such breaking changes will be made to future releases.

    This release allows early users to pin to these pre-built binaries and avoid these changes until they intend to upgrade, rather than installing from HEAD with go get ...

    NOTE: the default kind create cluster pins to a specific node image in order to avoid breakage there.

    This image is: kindest/node:[email protected]:6ac1dc1750fc0efd13d4e294115f9012a21282957e4380a5535bd32154193d4d on the current official registry.

    Contributors to this release are:

    • @BenTheElder
    • @munnerz
    • @alejandrox1
    • @tao12345666333
    • @neolit123
    • @fabriziopandini
    • @Lion-Wei
    • @mooncak
    • @radu-matei
    • @AdamDang
    • @cblecker

    Thank you for your contributions!

    Source code(tar.gz)
    Source code(zip)
    kind-darwin-amd64(35.77 MB)
    kind-linux-amd64(36.07 MB)
Owner
Kubernetes SIGs
Org for Kubernetes SIG-related work
Kubernetes SIGs
KinK is a helper CLI that facilitates to manage KinD clusters as Kubernetes pods. Designed to ease clusters up for fast testing with batteries included in mind.

kink A helper CLI that facilitates to manage KinD clusters as Kubernetes pods. Table of Contents kink (KinD in Kubernetes) Introduction How it works ?

Trendyol Open Source 353 May 8, 2022
PolarDB Stack is a DBaaS implementation for PolarDB-for-Postgres, as an operator creates and manages PolarDB/PostgreSQL clusters running in Kubernetes. It provides re-construct, failover swtich-over, scale up/out, high-available capabilities for each clusters.

PolarDB Stack开源版生命周期 1 系统概述 PolarDB是阿里云自研的云原生关系型数据库,采用了基于Shared-Storage的存储计算分离架构。数据库由传统的Share-Nothing,转变成了Shared-Storage架构。由原来的N份计算+N份存储,转变成了N份计算+1份存储

null 18 Jun 2, 2022
vcluster - Create fully functional virtual Kubernetes clusters - Each cluster runs inside a Kubernetes namespace and can be started within seconds

Website • Quickstart • Documentation • Blog • Twitter • Slack vcluster - Virtual Clusters For Kubernetes Lightweight & Low-Overhead - Based on k3s, bu

Loft Labs 1.7k Jun 27, 2022
provider-kubernetes is a Crossplane Provider that enables deployment and management of arbitrary Kubernetes objects on clusters

provider-kubernetes provider-kubernetes is a Crossplane Provider that enables deployment and management of arbitrary Kubernetes objects on clusters ty

International Business Machines 2 Jan 5, 2022
Crossplane provider to provision and manage Kubernetes objects on (remote) Kubernetes clusters.

provider-kubernetes provider-kubernetes is a Crossplane Provider that enables deployment and management of arbitrary Kubernetes objects on clusters ty

Crossplane Contrib 47 Jun 25, 2022
Dotnet-appsettings-env - Convert .NET appsettings.json file to Kubernetes, Docker and Docker-Compose environment variables

dotnet-appsettings-env Convert .NET appsettings.json file to Kubernetes, Docker

Daniel Dias de Assumpção 5 Jun 13, 2022
Dotnet-appsettings-env - Convert .NET appsettings.json file to Kubernetes, Docker and Docker-Compose environment variables

dotnet-appsettings-env Convert .NET appsettings.json file to Kubernetes, Docker

Daniel Dias de Assumpção 1 Feb 16, 2022
Local Storage is one of HwameiStor components. It will provision the local LVM volume.

Local Storage Module English | Simplified_Chinese Introduction Local Storage is one of modules of HwameiStor which is a cloud native local storage sys

HwameiStor 163 Jun 22, 2022
WIP - Pin - local pipeline project with Docker Golang API.

pin ?? WIP - Local pipeline project with Docker Golang API. ?? Installation Download latest release You can download latest release from here Install

Muhammed İKİNCİ 12 May 28, 2022
kubequery is a Osquery extension that provides SQL based analytics for Kubernetes clusters

kubequery powered by Osquery kubequery is a Osquery extension that provides SQL based analytics for Kubernetes clusters kubequery will be packaged as

Uptycs Inc 68 Jun 30, 2022
🐶 Kubernetes CLI To Manage Your Clusters In Style!

K9s - Kubernetes CLI To Manage Your Clusters In Style! K9s provides a terminal UI to interact with your Kubernetes clusters. The aim of this project i

Fernand Galiana 16.8k Jun 23, 2022
Validation of best practices in your Kubernetes clusters

Best Practices for Kubernetes Workload Configuration Fairwinds' Polaris keeps your clusters sailing smoothly. It runs a variety of checks to ensure th

Fairwinds 2.6k Jun 30, 2022
Manage large fleets of Kubernetes clusters

Introduction Fleet is GitOps at scale. Fleet is designed to manage up to a million clusters. It's also lightweight enough that it works great for a si

Rancher 1.2k Jun 28, 2022
A best practices checker for Kubernetes clusters. 🤠

Clusterlint As clusters scale and become increasingly difficult to maintain, clusterlint helps operators conform to Kubernetes best practices around r

DigitalOcean 474 Jun 13, 2022
Kubernetes operator to autoscale Google's Cloud Bigtable clusters

Bigtable Autoscaler Operator Bigtable Autoscaler Operator is a Kubernetes Operator to autoscale the number of nodes of a Google Cloud Bigtable instanc

RD Station 22 Nov 5, 2021
Nebula Operator manages NebulaGraph clusters on Kubernetes and automates tasks related to operating a NebulaGraph cluster

Nebula Operator manages NebulaGraph clusters on Kubernetes and automates tasks related to operating a NebulaGraph cluster. It evolved from NebulaGraph Cloud Service, makes NebulaGraph a truly cloud-native database.

vesoft inc. 51 Jun 6, 2022
Client extension for interacting with Kubernetes clusters from your k6 tests.

⚠️ This is a proof of concept As this is a proof of concept, it won't be supported by the k6 team. It may also break in the future as xk6 evolves. USE

k6 16 Jun 17, 2022
Managing your Kubernetes clusters (including public, private, edge, etc) as easily as visiting the Internet

Clusternet Managing Your Clusters (including public, private, hybrid, edge, etc) as easily as Visiting the Internet. Clusternet (Cluster Internet) is

Clusternet 922 Jun 27, 2022
Flux is a tool for keeping Kubernetes clusters in sync with sources of configuration, and automating updates to configuration when there is new code to deploy.

Flux is a tool for keeping Kubernetes clusters in sync with sources of configuration (like Git repositories), and automating updates to configuration when there is new code to deploy.

Flux project 3.5k Jun 27, 2022