请参阅我们的文档以获取更深入的安装等信息。
kind 是一个使用 Docker 容器"节点"运行本地 Kubernetes 集群的工具。 kind 主要设计用于测试 Kubernetes 本身,但也可用于本地开发或 CI。
如果您已安装 [go] 1.16+ 和 [docker]、[podman] 或 [nerdctl],只需执行 go install sigs.k8s.io/kind@v0.24.0 && kind create cluster
即可!
kind 包括:
- 实现[集群创建][cluster package]、[镜像构建][build package]等功能的 Go [包][packages]。
- 基于这些包构建的命令行界面([
kind
][kind cli])。 - 用于运行 systemd、Kubernetes 等的 Docker [镜像][images]。
- 同样基于这些包构建的 [
kubetest
][kubetest] 集成(进行中)。
kind 使用 [kubeadm][kubeadm] 引导每个"节点"。有关更多详细信息,请参阅[设计文档][design doc]。
注意:kind 仍在开发中,请参阅 [1.0 路线图]。
安装和使用
完整的[安装指南]请参阅[此处的文档][install guide]。
您可以使用 go install sigs.k8s.io/kind@v0.24.0
安装 kind。
注意:请使用最新版本的 go 来执行此操作。KIND 使用最新的稳定版 go 进行开发,请查看 .go-version
了解我们使用的确切版本。
这将把 kind
放在 $(go env GOPATH)/bin
中。如果安装后遇到 kind: command not found
错误,您可能需要将该目录添加到 $PATH
中,如此处所示,或者通过克隆仓库并在仓库中运行 make build
进行手动安装。
无需安装 go,可以使用 docker 通过 make build
可重现地构建 kind。
[releases] 页面上也提供了稳定的二进制文件。稳定版本通常推荐用于 CI 等场景。
要安装,请从"Assets"下载适用于您平台的二进制文件,并将其放入 $PATH
中:
在 Linux 上:
# 适用于 AMD64 / x86_64
[ $(uname -m) = x86_64 ] && curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.24.0/kind-$(uname)-amd64
# 适用于 ARM64
[ $(uname -m) = aarch64 ] && curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.24.0/kind-$(uname)-arm64
chmod +x ./kind
sudo mv ./kind /usr/local/bin/kind
在 macOS 上通过 Homebrew:
brew install kind
在 macOS 上通过 MacPorts:
sudo port selfupdate && sudo port install kind
在 macOS 上通过 Bash:
# 适用于 Intel Mac
[ $(uname -m) = x86_64 ] && curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.24.0/kind-darwin-amd64
# 适用于 M1 / ARM Mac
[ $(uname -m) = arm64 ] && curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.24.0/kind-darwin-arm64
chmod +x ./kind
mv ./kind /some-dir-in-your-PATH/kind
在 Windows 上:
curl.exe -Lo kind-windows-amd64.exe https://kind.sigs.k8s.io/dl/v0.24.0/kind-windows-amd64
Move-Item .\kind-windows-amd64.exe c:\some-dir-in-your-PATH\kind.exe
# 或通过 Chocolatey (https://chocolatey.org/packages/kind)
choco install kind
要使用 kind,您需要[安装 docker]。 一旦 docker 运行,您就可以使用以下命令创建集群:
kind create cluster
要删除集群,请使用:
kind delete cluster
要从 Kubernetes 源代码创建集群:
- 确保 Kubernetes 已克隆到
$(go env GOPATH)/src/k8s.io/kubernetes
- 构建节点镜像并创建集群:
kind build node-image
kind create cluster --image kindest/node:latest
多节点集群和其他高级功能可以通过配置文件进行配置,更多用法请参阅[文档][user guide]或运行 kind [command] --help
社区
如有 bug、功能请求和其他问题,请联系我们! 本项目的维护者可通过以下方式联系:
- [Kubernetes Slack] 的 [#kind] 频道
- 在此仓库[提交issue]
- Kubernetes [SIG-Testing 邮件列表]
当前的维护者是 [@aojea] 和 [@BenTheElder] - 如果您有任何问题,请随时联系!
非常欢迎提交 Pull Request! 如果您计划添加新功能,请先提交 issue 进行讨论。
查看[issue tracker]寻找标记为 help wanted
的 issue,如果不确定从哪里开始,或随时联系我们讨论。🙂
另请参阅:我们的[贡献者指南]和 Kubernetes [社区页面]。
为什么选择 kind?
- kind 支持多节点(包括高可用)集群
- kind 支持从源代码构建 Kubernetes 发布版本
- 支持 make / bash 或 docker,以及预发布的版本
- kind 支持 Linux、macOS 和 Windows
- kind 是 CNCF 认证的符合标准的 Kubernetes 安装程序
行为准则
参与 Kubernetes 社区受 [Kubernetes 行为准则]的约束。