欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 养生 > kind(Kubernetes IN Docker)

kind(Kubernetes IN Docker)

2025/6/8 13:42:43 来源:https://blog.csdn.net/qq_51149892/article/details/146364748  浏览:    关键词: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)较慢
多节点支持原生支持需插件
适用场景集群级测试、多节点模拟单节点开发、学习

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词