kind 是一个使用 Docker 容器“节点”运行 Kubernetes 集群的工具。使用 kind 工具搭建的 Kubernetes 集群主要用于测试,但也可以用于本地开发和调试。
1、使用 go install 安装
如果本机安装了 golang,可以使用 go install 安装
# go install sigs.k8s.io/kind
kind 会被安装在 $(go env GOPATH)/bin 目录中。安装完成后使用 kind 命令时如果提示命令没有找到的话,需要将该目录添加到 $PATH 中。
2、使用发布的二进制文件安装
构建好的二进制文件可以在官方的发布页(
https://github.com/kubernetes-sigs/kind/releases)获取。可以使用如下命令下载安装:
# curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.17.0/kind-linux-amd64# chmod +x ./kind# mv ./kind /usr/local/bin/kind
1、快速创建集群
使用如下命令可以快速创建一个 Kubernetes 集群
# kind create cluster.
这种方式会创建默认版本的 Kubernetes 集群,名称为默认的 kind,如果想创建特定版本的 Kubernetes 集群的话,需要使用 --image 参数指定,如果需要更改集群名称的话,需要使用 --name 参数,例如:
# kind create cluster --image=kindest/node:v1.22.0 --name=dev
2、基于配置文件创建集群
也可以基于配置文件创建集群,kind 的配置文件采用的是 yaml 格式,示例配置文件如下:
# this config file contains all config fields with comments# NOTE: this is not a particularly useful config filekind:ClusterapiVersion:kind.x-k8s.io/v1alpha4# patch the generated kubeadm config with some extra settingskubeadmConfigPatches:-|
apiVersion: kubelet.config.k8s.io/v1beta1
kind: KubeletConfiguration
evictionHard:
nodefs.available: "0%"
# patch it further using a JSON 6902 patchkubeadmConfigPatchesJSON6902:-group:kubeadm.k8s.ioversion:v1beta3kind:ClusterConfigurationpatch:|
- op: add
path: /apiServer/certSANs/-
value: my-hostname
# 1 control plane node and 3 workersnodes:# the control plane node config-role:control-plane# the three workers-role:worker-role:worker-role:worker
使用命令如下
# kind create cluster --config kind-example-config.yaml
查看创建的集群:
# kind get clustersdev
删除集群:
kind delete cluster --name=dev
使用 kind 创建集群之后,kind 会默认生成 kubectl 的配置文件,位置在 ${HOME}/.kube/config,直接运行 kubectl 工具进行管理即可,例如查看节点:
kubectl get node
关于 kind 更多说明,请参考官方文档 https://kind.sigs.k8s.io/。