- Complete expansion guide for 2/4/6 node scenarios - Quick join scripts for worker and master nodes - Health check and diagnostic scripts - Quick reference card for common operations
3.3 KiB
3.3 KiB
K3s 集群扩展快速参考
🚀 快速开始
当前集群信息
Master IP: 134.195.210.237
Token: K109d35a131f48b4d40b162398a828b766d60735f29dd7b4a37b030c1d1c0e26b23::server:72e04c3a9e3e762cbdefffc96f348a2d
一键加入脚本
Worker 节点(最简单)
# 在新节点上执行
sudo bash scripts/join-worker.sh
Master 节点(HA 模式)
# 在新节点上执行
sudo bash scripts/join-master.sh
📊 扩展方案对比
| 方案 | 节点配置 | 适用场景 | 高可用 | 成本 |
|---|---|---|---|---|
| 2节点 | 1M + 2W | 开发/测试 | ❌ | 💰 |
| 4节点 | 3M + 4W | 生产环境 | ✅ | 💰💰💰 |
| 6节点 | 3M + 6W | 大规模生产 | ✅ | 💰💰💰💰 |
M = Master, W = Worker
🔧 手动加入命令
Worker 节点
export MASTER_IP="134.195.210.237"
export NODE_TOKEN="K109d35a131f48b4d40b162398a828b766d60735f29dd7b4a37b030c1d1c0e26b23::server:72e04c3a9e3e762cbdefffc96f348a2d"
curl -sfL https://get.k3s.io | K3S_URL=https://${MASTER_IP}:6443 \
K3S_TOKEN=${NODE_TOKEN} sh -
Master 节点(需要先配置负载均衡器)
export FIRST_MASTER="134.195.210.237"
export LB_IP="<负载均衡器IP>"
export NODE_TOKEN="K109d35a131f48b4d40b162398a828b766d60735f29dd7b4a37b030c1d1c0e26b23::server:72e04c3a9e3e762cbdefffc96f348a2d"
curl -sfL https://get.k3s.io | sh -s - server \
--server https://${FIRST_MASTER}:6443 \
--token ${NODE_TOKEN} \
--tls-san=${LB_IP} \
--write-kubeconfig-mode 644
✅ 验证命令
# 查看节点
kubectl get nodes -o wide
# 健康检查
bash scripts/check-node-health.sh
# 查看节点详情
kubectl describe node <node-name>
# 查看资源使用
kubectl top nodes
🏷️ 节点标签
# Worker 节点
kubectl label nodes <node> node-role.kubernetes.io/worker=worker
# 功能标签
kubectl label nodes <node> workload=web
kubectl label nodes <node> workload=database
kubectl label nodes <node> workload=cache
🔥 常见问题
节点无法加入?
# 检查网络
ping 134.195.210.237
telnet 134.195.210.237 6443
# 查看日志
sudo journalctl -u k3s-agent -f
节点 NotReady?
# 重启服务
sudo systemctl restart k3s-agent
# 检查详情
kubectl describe node <node-name>
删除节点
# 在 Master 节点
kubectl drain <node-name> --ignore-daemonsets
kubectl delete node <node-name>
# 在要删除的节点
sudo /usr/local/bin/k3s-agent-uninstall.sh
📚 详细文档
- 完整扩展指南: K3S-CLUSTER-EXPANSION.md
- GitOps 自动部署: README.md
🎯 推荐流程
2节点扩展(开发环境)
- ✅ 准备 2 台新 VPS
- ✅ 执行
join-worker.sh - ✅ 验证节点状态
- ✅ 测试应用部署
4节点扩展(生产环境)
- ✅ 配置外部负载均衡器
- ✅ 转换第一个节点为 HA 模式
- ✅ 加入 2 个 Master 节点
- ✅ 加入 4 个 Worker 节点
- ✅ 配置 Longhorn 多副本
- ✅ 测试高可用
6节点扩展(大规模)
- ✅ 同 4 节点方案
- ✅ 按功能分层部署
- ✅ 配置节点亲和性
- ✅ 优化资源分配
快速帮助: 遇到问题?运行 bash scripts/check-node-health.sh 进行诊断