kind 常用命令详解
约 748 字大约 2 分钟
2025-09-07
kind (Kubernetes in Docker) 是一个使用 Docker 容器作为"节点"来运行本地 Kubernetes 集群的工具。它主要用于本地开发、测试和 CI/CD 环境。
安装 kind
# 使用 Homebrew 安装 (macOS)
brew install kind
# 使用 curl 安装
curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.20.0/kind-linux-amd64
chmod +x ./kind
sudo mv ./kind /usr/local/bin/kind
# 使用 Go 安装
go install sigs.k8s.io/kind@v0.20.0集群管理命令
创建集群
# 创建默认集群
kind create cluster
# 创建指定名称的集群
kind create cluster --name my-cluster
# 使用配置文件创建集群
kind create cluster --config kind-config.yaml
# 创建多节点集群
kind create cluster --config multi-node-config.yaml一键创建集群命令
# 一键创建简单集群
kind create cluster --name dev-cluster --config - <<EOF
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
- role: control-plane
- role: worker
- role: worker
- role: worker
EOF删除集群
# 删除默认集群
kind delete cluster
# 删除指定名称的集群
kind delete cluster --name my-cluster
# 删除所有集群
kind delete clusters --all查看集群信息
# 列出所有集群
kind get clusters
# 查看集群详细信息
kind get kubeconfig --name my-cluster
# 查看集群节点
docker ps --filter "label=io.x-k8s.kind.cluster"镜像管理命令
加载镜像到集群
# 加载本地镜像到默认集群
kind load docker-image my-app:latest
# 加载镜像到指定集群
kind load docker-image my-app:latest --name my-cluster
# 从 tar 文件加载镜像
kind load image-archive my-images.tar
# 加载多个镜像
kind load docker-image app1:latest app2:latest --name my-cluster构建镜像
# 构建镜像并加载到集群
kind build node-image --image my-custom-node:latest
# 从源码构建镜像
kind build node-image --source /path/to/kubernetes/source常用操作
访问集群和切换集群
方法一:使用环境变量切换
# 获取 kubeconfig 并设置环境变量
export KUBECONFIG=$(kind get kubeconfig --name my-cluster)
kubectl get nodes
# 切换到另一个集群
export KUBECONFIG=$(kind get kubeconfig --name another-cluster)
kubectl get nodes
# 查看当前使用的集群
kubectl config current-context方法二:使用 --kubeconfig 参数
# 获取 kubeconfig 文件
kind get kubeconfig --name my-cluster > my-cluster-kubeconfig
kind get kubeconfig --name dev-cluster > dev-cluster-kubeconfig
# 使用指定的 kubeconfig 文件
kubectl --kubeconfig my-cluster-kubeconfig get nodes
kubectl --kubeconfig dev-cluster-kubeconfig get nodes
# 查看不同集群的资源
kubectl --kubeconfig my-cluster-kubeconfig get pods --all-namespaces
kubectl --kubeconfig dev-cluster-kubeconfig get pods --all-namespaces方法三:合并多个 kubeconfig
# 获取所有 kind 集群的 kubeconfig
kind get kubeconfig --name my-cluster > ~/.kube/kind-my-cluster
kind get kubeconfig --name dev-cluster > ~/.kube/kind-dev-cluster
kind get kubeconfig --name test-cluster > ~/.kube/kind-test-cluster
# 合并到默认 kubeconfig
KUBECONFIG=~/.kube/config:~/.kube/kind-my-cluster:~/.kube/kind-dev-cluster:~/.kube/kind-test-cluster kubectl config view --flatten > ~/.kube/config
# 查看所有可用的上下文
kubectl config get-contexts
# 切换到指定集群
kubectl config use-context kind-my-cluster
kubectl config use-context kind-dev-cluster
kubectl config use-context kind-test-cluster方法四:使用 kubectx 工具(推荐)
# 安装 kubectx
# macOS
brew install kubectx
# Linux
sudo git clone https://github.com/ahmetb/kubectx /opt/kubectx
sudo ln -s /opt/kubectx/kubectx /usr/local/bin/kubectx
sudo ln -s /opt/kubectx/kubens /usr/local/bin/kubens
# 查看所有上下文
kubectx
# 快速切换集群
kubectx kind-my-cluster
kubectx kind-dev-cluster
kubectx kind-test-cluster
# 切换回上一个集群
kubectx -更新日志
2025/9/7 07:06
查看所有更新日志
75acb-add kind basic于
