Add k3s cluster expansion documentation and scripts
- 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
This commit is contained in:
161
QUICK-REFERENCE.md
Normal file
161
QUICK-REFERENCE.md
Normal file
@@ -0,0 +1,161 @@
|
||||
# K3s 集群扩展快速参考
|
||||
|
||||
## 🚀 快速开始
|
||||
|
||||
### 当前集群信息
|
||||
```
|
||||
Master IP: 134.195.210.237
|
||||
Token: K109d35a131f48b4d40b162398a828b766d60735f29dd7b4a37b030c1d1c0e26b23::server:72e04c3a9e3e762cbdefffc96f348a2d
|
||||
```
|
||||
|
||||
### 一键加入脚本
|
||||
|
||||
#### Worker 节点(最简单)
|
||||
```bash
|
||||
# 在新节点上执行
|
||||
sudo bash scripts/join-worker.sh
|
||||
```
|
||||
|
||||
#### Master 节点(HA 模式)
|
||||
```bash
|
||||
# 在新节点上执行
|
||||
sudo bash scripts/join-master.sh
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📊 扩展方案对比
|
||||
|
||||
| 方案 | 节点配置 | 适用场景 | 高可用 | 成本 |
|
||||
|------|---------|---------|--------|------|
|
||||
| **2节点** | 1M + 2W | 开发/测试 | ❌ | 💰 |
|
||||
| **4节点** | 3M + 4W | 生产环境 | ✅ | 💰💰💰 |
|
||||
| **6节点** | 3M + 6W | 大规模生产 | ✅ | 💰💰💰💰 |
|
||||
|
||||
M = Master, W = Worker
|
||||
|
||||
---
|
||||
|
||||
## 🔧 手动加入命令
|
||||
|
||||
### Worker 节点
|
||||
```bash
|
||||
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 节点(需要先配置负载均衡器)
|
||||
```bash
|
||||
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
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## ✅ 验证命令
|
||||
|
||||
```bash
|
||||
# 查看节点
|
||||
kubectl get nodes -o wide
|
||||
|
||||
# 健康检查
|
||||
bash scripts/check-node-health.sh
|
||||
|
||||
# 查看节点详情
|
||||
kubectl describe node <node-name>
|
||||
|
||||
# 查看资源使用
|
||||
kubectl top nodes
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🏷️ 节点标签
|
||||
|
||||
```bash
|
||||
# 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
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🔥 常见问题
|
||||
|
||||
### 节点无法加入?
|
||||
```bash
|
||||
# 检查网络
|
||||
ping 134.195.210.237
|
||||
telnet 134.195.210.237 6443
|
||||
|
||||
# 查看日志
|
||||
sudo journalctl -u k3s-agent -f
|
||||
```
|
||||
|
||||
### 节点 NotReady?
|
||||
```bash
|
||||
# 重启服务
|
||||
sudo systemctl restart k3s-agent
|
||||
|
||||
# 检查详情
|
||||
kubectl describe node <node-name>
|
||||
```
|
||||
|
||||
### 删除节点
|
||||
```bash
|
||||
# 在 Master 节点
|
||||
kubectl drain <node-name> --ignore-daemonsets
|
||||
kubectl delete node <node-name>
|
||||
|
||||
# 在要删除的节点
|
||||
sudo /usr/local/bin/k3s-agent-uninstall.sh
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📚 详细文档
|
||||
|
||||
- 完整扩展指南: [K3S-CLUSTER-EXPANSION.md](K3S-CLUSTER-EXPANSION.md)
|
||||
- GitOps 自动部署: [README.md](README.md)
|
||||
|
||||
---
|
||||
|
||||
## 🎯 推荐流程
|
||||
|
||||
### 2节点扩展(开发环境)
|
||||
1. ✅ 准备 2 台新 VPS
|
||||
2. ✅ 执行 `join-worker.sh`
|
||||
3. ✅ 验证节点状态
|
||||
4. ✅ 测试应用部署
|
||||
|
||||
### 4节点扩展(生产环境)
|
||||
1. ✅ 配置外部负载均衡器
|
||||
2. ✅ 转换第一个节点为 HA 模式
|
||||
3. ✅ 加入 2 个 Master 节点
|
||||
4. ✅ 加入 4 个 Worker 节点
|
||||
5. ✅ 配置 Longhorn 多副本
|
||||
6. ✅ 测试高可用
|
||||
|
||||
### 6节点扩展(大规模)
|
||||
1. ✅ 同 4 节点方案
|
||||
2. ✅ 按功能分层部署
|
||||
3. ✅ 配置节点亲和性
|
||||
4. ✅ 优化资源分配
|
||||
|
||||
---
|
||||
|
||||
**快速帮助**: 遇到问题?运行 `bash scripts/check-node-health.sh` 进行诊断
|
||||
Reference in New Issue
Block a user