kind 是一个使用 Docker 容器“节点”运行本地 Kubernetes 集群的工具。
kind 主要用于测试 Kubernetes 本身,但也可用于本地开发或 CI。
如果您已安装 go 1.16+ 和 docker、podman 或 nerdctl,则只需运行 go install sigs.k8s.io/[email protected] && kind create cluster
!
kind 包含
- Go 包,实现 集群创建、镜像构建 等。
- 基于这些包构建的命令行界面 (
kind
)。 - Docker 镜像,用于运行 systemd、Kubernetes 等。
kubetest
集成,也基于这些包构建(WIP)
kind 使用 kubeadm 引导每个“节点”。有关更多详细信息,请参阅 设计文档。
注意:kind 仍在开发中,请参阅 1.0 路线图。
安装和使用 🔗︎
有关更详细的说明,请参阅 用户指南。
您可以使用 go install sigs.k8s.io/[email protected]
安装 kind(适用于 go 1.17+)。这会将 kind
放置在 $(go env GOPATH)/bin
中。如果您在安装后遇到 kind: command not found
错误,则可能需要将该目录添加到 $PATH
中,如 此处 所示。
要使用 kind,您还需要 安装 docker。
docker 运行后,您可以使用以下命令创建集群:
|
要删除集群,请使用以下命令:
|
要从 Kubernetes 源代码创建集群,请
- 确保 Kubernetes 已克隆到
$(go env GOPATH)/src/k8s.io/kubernetes
中 - 构建节点镜像并使用以下命令创建集群:
|
可以使用配置文件配置多节点集群和其他高级功能,有关更多用法,请参阅 用户指南 或运行 kind [command] --help
社区 🔗︎
请随时联系我们报告错误、提出功能请求以及其他问题!
您可以通过以下方式联系该项目的维护者:
- Kubernetes Slack 中的 #kind 频道
- 对该仓库 提交问题
- Kubernetes SIG-Testing 邮件列表
当前维护者是 @aojea 和 @BenTheElder - 如果您有任何问题,请随时直接联系他们!
非常欢迎您提交 Pull Request!
如果您计划添加新功能,请先提交问题进行讨论。
如果您不确定从哪里开始,请查看 问题跟踪器 中的 help wanted
问题,或者随时联系我们进行讨论。🙂
另请参阅:我们自己的 贡献者指南 和 Kubernetes 社区页面。
为什么选择 kind? 🔗︎
- kind 支持多节点(包括 HA)集群
- kind 支持从源代码构建 Kubernetes 发行版
- 除了预发布版本外,还支持 make/bash 或 docker
- kind 支持 Linux、macOS 和 Windows
- kind 是 CNCF 认证的符合 Kubernetes 标准的安装程序
行为准则 🔗︎
参与 Kubernetes 社区的行为受 Kubernetes 行为准则 约束。