Kind(Kubernetes in Docker) 是将 Kubernetes 所需要的所有组件,全部部署在一个 Docker 容器中,可以很方便的搭建 Kubernetes 集群。以 docker 的形式在一台主机上部署多个节点构建集群,而不需要多台服务器,便于开发测试。

1、安装前提

  • docker

  • kubectl

2、安装 kind

# For AMD64 / x86_64
[ $(uname -m) = x86_64 ] && curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.23.0/kind-linux-amd64
# For ARM64
[ $(uname -m) = aarch64 ] && curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.23.0/kind-linux-arm64

chmod +x ./kind
sudo mv ./kind /usr/local/bin/kind

3、kind 部署集群

使用以下yaml文件,可以部署一个一主两从的三节点k8s集群:

kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
- role: control-plane
- role: worker
- role: worker

在构建集群前,可以先把 kind 使用的 node 镜像下载下来:docker pull kindest/node:v1.30.0。DockerHub 有时并不好用,把安装包放这里:kindest-node.tar

在传入服务器后使用docker load -i kindest-node.tar导入

在镜像下载完成后,集群就安装的很快了。

kind create cluster --config cluster.yaml