kind(Kubernetes IN Docker)

什么是 kind?

kind(Kubernetes IN Docker)是一个通过 Docker 容器模拟 Kubernetes 节点,快速创建本地 Kubernetes 集群的工具。它轻量、快速,适合测试 Kubernetes 功能、开发调试或 CI/CD 环境。


前提条件

  1. 安装 Docker:所有节点以容器形式运行。
  2. 安装 kubectl:用于与 Kubernetes 集群交互。
  3. (可选)配置 Docker 非 root 权限:避免命令前加 sudo

一、安装 kind

# 下载最新版二进制文件(替换为最新版本号)
curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.20.0/kind-linux-amd64
# 添加执行权限
chmod +x ./kind
# 移动到 PATH 目录(如 /usr/local/bin)
sudo mv ./kind /usr/local/bin/kind
# 验证安装
kind version

二、创建单节点集群

# 默认创建名为 "kind" 的单节点集群(控制平面 + 工作节点)
kind create cluster

# 输出示例:
Creating cluster "kind" ...
 ✓ Ensuring node image (kindest/node:v1.27.3) 🖼
 ✓ Preparing nodes 📦  
 ✓ Writing configuration 📜 
 ✓ Starting control-plane 🕹️ 
 ✓ Installing CNI 🔌 
 ✓ Installing StorageClass 💾 
Set kubectl context to "kind-kind"

三、验证集群状态

# 查看集群节点(显示一个节点,角色包含 control-plane 和 worker)
kubectl get nodes

# 输出示例:
NAME                 STATUS   ROLES           AGE   VERSION
kind-control-plane   Ready    control-plane   10s   v1.27.3

# 查看所有 Pod(系统组件运行正常)
kubectl get pods -A

四、部署应用示例:Nginx

1. 创建 Deployment
kubectl create deployment nginx --image=nginx:alpine
2. 暴露 Service(ClusterIP)
kubectl expose deployment nginx --port=80
3. 端口转发访问
# 将本地 8080 端口映射到 Service 的 80 端口
kubectl port-forward service/nginx 8080:80

# 浏览器访问 http://localhost:8080 或命令行测试
curl http://localhost:8080

五、创建多节点集群

1. 编写配置文件 multi-node.yaml
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
- role: control-plane  # 控制平面节点
- role: worker         # 工作节点 1
- role: worker         # 工作节点 2
2. 使用配置文件创建集群
kind create cluster --name multi-node-cluster --config multi-node.yaml

# 查看节点(3 个节点)
kubectl get nodes

六、删除集群

# 删除默认集群
kind delete cluster

# 删除指定名称的集群
kind delete cluster --name multi-node-cluster

七、常见使用场景

  1. Kubernetes 功能测试:快速验证新特性或 Bug 修复。
  2. 本地开发调试:在本地模拟真实集群部署应用。
  3. CI/CD 流水线:集成到自动化流程中测试部署步骤。
  4. 多节点实验:测试 Pod 调度、网络策略等跨节点行为。

附:kind vs minikube

特性kindminikube
节点类型Docker 容器虚拟机(默认)或容器
启动速度快(容器无需启动完整 OS)较慢
多节点支持原生支持需插件
适用场景集群级测试、多节点模拟单节点开发、学习
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值