kind README

The project's README from github.com/kubernetes-sigs/kind. As one markdown file: README.md.

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 and docker, podman or nerdctl installed go install 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 go install sigs.k8s.io/[email protected].

NOTE: please use the latest go to do this. KIND is developed with the latest stable go, see .go-version for the exact version we're using.

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:

# For AMD64 / x86_64
[ $(uname -m) = x86_64 ] && curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.33.0/kind-$(uname)-amd64
# For ARM64
[ $(uname -m) = aarch64 ] && curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.33.0/kind-$(uname)-arm64
chmod +x ./kind
sudo mv ./kind /usr/local/bin/kind

On macOS via Homebrew:

brew install kind

On macOS via MacPorts:

sudo port selfupdate && sudo port install kind

On macOS via Bash:

# For Intel Macs
[ $(uname -m) = x86_64 ] && curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.33.0/kind-darwin-amd64
# For M1 / ARM Macs
[ $(uname -m) = arm64 ] && curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.33.0/kind-darwin-arm64
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.33.0/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:

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 @aojea, @BenTheElder, and @stmcginnis - 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?

Code of conduct

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

kind (kubernetes-sigs/kind)

Searching Database…

15.6K ·GitHub
Что это такое?kind (Kubernetes IN Docker) запускает локальные кластеры Kubernetes, используя Docker-контейнеры в качестве «нод». Изначально он создавался для тестирования самого Kubernetes, но также подходит для локальной разработки или CI.
kind — это CLI-утилита, которую я запускаю, или библиотека для Go, которую я импортирую?Вы запускаете его как CLI. Пакеты на Go реализуют создание кластеров и сборку образов, команда kind оборачивает их, а ещё есть node-образы, которые запускают systemd и Kubernetes внутри Docker-контейнеров.
Как мне запустить свой первый кластер?Если установлены go и среда для запуска контейнеров, достаточно команды go install sigs.k8s.io/[email protected] && kind create cluster. Также можно скачать бинарник со страницы релизов или использовать Homebrew на macOS; kind delete cluster удаляет кластер.
Обязательно ли нужен именно Docker, или подойдут и другие среды для контейнеров?Работают Docker, Podman и nerdctl. Go нужен только для установки через go install — без него kind можно воспроизводимо собрать командой make build через Docker.
kind готов к использованию в продакшене или всё ещё экспериментальный?В README он по-прежнему называется проектом в разработке с дорожной картой до версии 1.0, но это сертифицированный CNCF-инсталлятор, прошедший проверку на соответствие, и для CI в частности рекомендуются стабильные релизы.
Он будет работать на Windows и macOS или только на Linux?На всех трёх: kind поддерживает Linux, macOS и Windows, причём среди вариантов установки на macOS есть Homebrew и MacPorts.
Смогу ли я запустить многоузловой или HA-кластер на своём ноутбуке?Да — kind поддерживает многоузловые кластеры, в том числе конфигурации HA. Многоузловой режим и другие продвинутые настройки задаются через файл конфигурации, а не через флаги командной строки.
Могу ли я поднять кластер прямо из исходного кода Kubernetes?Да. Склонируйте Kubernetes в $(go env GOPATH)/src/k8s.io/kubernetes, соберите из него node-образ и создайте кластер с этим образом — удобно для тестирования собственных изменений в Kubernetes.
Как именно kind создаёт каждую ноду?Каждая нода — это Docker-контейнер, который kind разворачивает с помощью kubeadm, стандартного инструмента начальной загрузки Kubernetes; внутри работают systemd и компоненты Kubernetes. Подробности описаны в документации по дизайну.
What are similar projects?velero, slim, buildkit, containerd, kops, dive, litmus, kompose
Size
13.6 MB
Stars
15.6K
Age
8y
Commits · 90 Days