1. 项目背景与核心价值
三节点Kubernetes集群是生产环境中最常见的部署架构之一,它完美平衡了高可用性和资源消耗。相比单节点开发环境,三节点配置能够实现:
- 控制平面组件(API Server、Controller Manager、Scheduler)的冗余部署
- etcd集群的奇数节点仲裁机制
- 工作负载的跨节点调度容灾
而使用Kind(Kubernetes in Docker)搭建这种集群,则是一种轻量级的本地开发测试方案。它通过容器化控制平面组件,实现了:
- 快速启动和销毁集群(秒级操作)
- 不依赖虚拟机或云资源
- 完美复刻多节点拓扑结构
我在实际工作中发现,这种方案特别适合以下场景:
- CI/CD流水线中的集成测试
- 新版本K8s的功能验证
- 应用部署编排的演练环境
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 环境准备与工具链
2.1 基础软件要求
确保宿主机已安装:
- Docker 20.10+(需支持cgroup v2)
- kubectl 1.24+(匹配目标K8s版本)
- kind v0.17+(新版本对多节点支持更好)
验证命令:
bash复制docker --version
kubectl version --client
kind version
2.2 网络规划建议
虽然Kind默认使用docker网络,但建议提前规划:
- 节点间通信:172.18.0.0/16
- Service CIDR:10.96.0.0/12
- Pod CIDR:10.244.0.0/16
注意:生产环境需确保这些网段不与现有网络冲突
3. 集群配置文件详解
创建kind-cluster.yaml配置文件:
yaml复制kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
- role: control-plane
extraPortMappings:
- containerPort: 6443
hostPort: 16443
- role: control-plane
- role: control-plane
- role: worker
- role: worker
- role: worker
networki
