K8S
1、项目总览
1.1、最终架构方案
1.2、IP分配规划
1.3、域名规划
1.4、CPU优化指南
1.5、云C部署指南
1.6、部署检查清单
1.7、快速参考手册
2.1、API-VIP高可用配置
2.2、Calico网络配置
2.3、存储方案配置
2.4、Ingress入口配置
2.5、安全加固配置
2.6、etcd优化配置
2.7、灾难恢复配置
2.8、公司网络配置
K8s部署
本文档使用 MrDoc 发布
-
+
首页
1.6、部署检查清单
# 部署前检查清单 ## 📋 部署准备总览 本检查清单帮助您确认所有资源和信息已准备就绪,可以开始部署。 --- ## ✅ 硬件资源确认 ### 云端服务器 | 项目 | 云A | 云B | 云C | 状态 | |------|-----|-----|-----|------| | **型号** | AMD Ryzen 7700 | AMD Ryzen 7700 | AMD Ryzen 7700 | [ ] 已确认 | | **CPU** | 8核16线程 | 8核16线程 | 8核16线程 | [ ] 已确认 | | **内存** | 128GB | 128GB | 128GB | [ ] 已确认 | | **存储** | 2×1TB SSD | 2×1TB SSD | 2×1TB SSD | [ ] 已确认 | | **网络** | 1000MB | 1000MB | 1000MB | [ ] 已确认 | | **公网IP数量** | 10个 | 10个 | 10个 | [ ] 已确认 | | **PVE安装** | 已安装 | 已安装 | 已安装 | [ ] 已确认 | ### 边缘服务器(公司) | 项目 | 配置 | 状态 | |------|------|------| | **内存** | 128GB | [ ] 已确认 | | **存储** | 2×2TB | [ ] 已确认 | | **PVE安装** | 已安装 | [ ] 已确认 | | **内网网段** | 172.16.100.0/21(K8s专用) | [ ] 已确认 | --- ## 🌐 网络信息收集 ### 云A公网IP | 序号 | IP地址 | 网关 | 状态 | |------|--------|------|------| | 1 | 185.150.190.216 | - | [ ] 已确认 | | 2-10 | 172.93.107.95-104 | 172.93.107.1 | [ ] 已确认 | **PVE主IP:** 185.150.190.216 [✓] 已确认 ### 云B公网IP | 序号 | IP地址 | 网关 | 状态 | |------|--------|------|------| | 1 | 104.194.9.56 | - | [ ] 已确认 | | 2-10 | 172.93.107.136-145 | 172.93.107.1 | [ ] 已确认 | **PVE主IP:** 104.194.9.56 [✓] 已确认 ### 云C公网IP ⭐ | 序号 | IP地址 | 网关 | 状态 | |------|--------|------|------| | 1 | 199.127.62.90 | 199.127.62.1 | [✓] 已确认 | | 2 | 104.243.47.223 | 104.243.47.1 | [✓] 已确认 | | 3 | 45.126.208.32 | 45.126.208.1 | [✓] 已确认 | | 4 | 45.126.208.63 | 45.126.208.1 | [✓] 已确认 | | 5 | 45.126.208.170 | 45.126.208.1 | [✓] 已确认 | | 6 | 45.126.208.194 | 45.126.208.1 | [✓] 已确认 | | 7 | 45.126.209.131 | 45.126.209.1 | [✓] 已确认 | | 8 | 45.126.209.140 | 45.126.209.1 | [✓] 已确认 | | 9 | 45.126.209.141 | 45.126.209.1 | [✓] 已确认 | | 10 | 45.126.209.149 | 45.126.209.1 | [✓] 已确认 | **PVE主IP:** 199.127.62.90 [✓] 已确认 ### 公司网络 | 项目 | 配置 | 状态 | |------|------|------| | **公网IP/域名** | _____________________ | [ ] 已记录 | | **K8s专用网段** | 172.16.100.0/21 | [✓] 已确认 | | **开发电脑网段** | 192.168.72.0/24(已占用) | [✓] 已确认 | | **办公系统网段** | 172.16.72.0/21(已占用) | [✓] 已确认 | --- ## 🔑 密钥和证书准备 ### SSH密钥 - [ ] 已生成SSH密钥对 - [ ] SSH公钥已上传到所有PVE服务器 - [ ] 测试免密登录所有服务器成功 ```bash # 生成密钥 ssh-keygen -t ed25519 -C "k8s-deploy-key" # 上传到服务器 ssh-copy-id root@<云A IP> ssh-copy-id root@<云B IP> ssh-copy-id root@<云C IP> ssh-copy-id root@<公司PVE IP> ``` ### WireGuard密钥对 | 服务器 | 公钥已生成 | 公钥已记录 | 私钥已保存 | |--------|-----------|-----------|-----------| | 云A | [ ] | [ ] | [ ] | | 云B | [ ] | [ ] | [ ] | | 云C | [ ] | [ ] | [ ] | | 公司 | [ ] | [ ] | [ ] | **密钥交换表:** ``` 云A公钥: _________________________________________________ 云B公钥: _________________________________________________ 云C公钥: _________________________________________________ 公司公钥: ________________________________________________ ``` ### SSL证书(可选,后续配置) - [ ] Cloudflare账号已准备(用于Let's Encrypt DNS-01验证) - [ ] Cloudflare API Token已申请 - [ ] 自签名CA证书密钥已生成(用于ktnet.cc内网域名) --- ## 📦 软件和镜像准备 ### 基础软件包 - [ ] Ubuntu 22.04 ISO镜像已下载 - [ ] K8s最新稳定版安装包已准备(推荐 v1.28.x+) - [ ] containerd已准备 - [ ] WireGuard工具已准备 ### 容器镜像(可选,加速部署) - [ ] K8s核心组件镜像(使用最新稳定版) - [ ] kube-apiserver(匹配K8s版本) - [ ] kube-controller-manager(匹配K8s版本) - [ ] kube-scheduler(匹配K8s版本) - [ ] kube-proxy(匹配K8s版本) - [ ] etcd(3.5+) - [ ] coredns(1.10+) - [ ] pause(3.9+) - [ ] CNI插件镜像 - [ ] calico/node:v3.26.x - [ ] calico/cni:v3.26.x - [ ] calico/kube-controllers:v3.26.x - [ ] 存储插件镜像 - [ ] Longhorn镜像集合 - [ ] 负载均衡器镜像 - [ ] MetalLB镜像 - [ ] Nginx Ingress Controller --- ## 📖 文档阅读确认 ### 必读文档 - [ ] `1、项目总览.md` - 项目总览和导航 - [ ] `1.1、最终架构方案.md` - 最终架构方案 - [ ] `1.2、IP分配规划.md` - IP分配规划(已更新云C) - [ ] `1.3、域名规划.md` - 域名架构 - [ ] `1.5、云C部署指南.md` - 云C部署指南 ### 可选文档(按需阅读) - [ ] `1.4、CPU优化指南.md` - CPU优化方案 - [ ] `solutions/` - 各项技术方案 --- ## 🧪 网络连通性测试 ### 延迟测试 **云端互联(Full Mesh):** | 路径 | 延迟 | 目标 | 状态 | |------|------|------|------| | 云A ↔ 云B | _____ ms | <1ms | [ ] | | 云A ↔ 云C | _____ ms | <1ms | [ ] | | 云B ↔ 云C | _____ ms | <1ms | [ ] | **公司到云端(Hub-Spoke):** | 路径 | 延迟 | 预期 | 状态 | |------|------|------|------| | 公司 → 云A | _____ ms | ~180ms | [ ] | | 公司 → 云B | _____ ms | ~180ms | [ ] | | 公司 → 云C | _____ ms | ~180ms | [ ] | ### SSH访问测试 ```bash # 测试所有服务器SSH连接 ssh root@<云A IP> "hostname" # [ ] ssh root@<云B IP> "hostname" # [ ] ssh root@<云C IP> "hostname" # [ ] ssh root@<公司IP> "hostname" # [ ] ``` --- ## 🎯 部署策略选择 ### 部署顺序 - [ ] 选项1:先配置WireGuard,再部署K8s(推荐) - [ ] 选项2:先在单云测试,再扩展到多云 - [ ] 选项3:同步部署所有组件 **选择的策略:** _____________________ ### CPU配置方案 - [✓] 选项1:使用平衡方案(6C Master / 16C Worker,2.375:1超配)✅ **已采用 - KtCloudGroup标准** - [ ] 选项2:使用保守方案(6C Master / 12C Worker,1.875:1超配) **选择的方案:** 平衡方案(KtCloudGroup标准配置) ### K8s版本选择 - [✓] 最新稳定版(当前推荐 v1.28.x+)✅ **已采用 - KtCloudGroup标准** - [ ] v1.29.x(较新,可选) - [ ] v1.30.x(最新,需测试) **选择的版本:** 最新稳定版(KtCloudGroup标准:安装时选择当前稳定版本) --- ## 📅 部署时间规划 ### 预计部署时间表 | 阶段 | 内容 | 预计时间 | 计划日期 | 状态 | |------|------|---------|---------|------| | **阶段0** | 准备和备份 | 30分钟 | ________ | [ ] | | **阶段1** | 配置云C网络 | 1小时 | ________ | [ ] | | **阶段2** | WireGuard Full Mesh | 1小时 | ________ | [ ] | | **阶段3** | 创建云C VM | 1小时 | ________ | [ ] | | **阶段4** | Master-3加入集群 | 30分钟 | ________ | [ ] | | **阶段5** | Worker节点加入 | 30分钟 | ________ | [ ] | | **阶段6** | 验证和测试 | 30分钟 | ________ | [ ] | | **可选** | CPU优化 | 5-6小时 | ________ | [ ] | **总计:** 约5-6小时(不含CPU优化)/ 10-12小时(含CPU优化) ### 维护窗口规划 - **首选时间窗口:** _____________________ - **备用时间窗口:** _____________________ - **紧急联系人:** _____________________ - **回滚负责人:** _____________________ --- ## 🔧 工具和脚本准备 ### 必需工具 - [ ] kubectl(K8s管理工具) - [ ] helm(K8s包管理器) - [ ] wireguard-tools(WireGuard管理) - [ ] git(版本控制) ### 自动化脚本 - [ ] WireGuard配置生成脚本 - [ ] VM批量创建脚本 - [ ] K8s集群初始化脚本 - [ ] CPU优化交互脚本(已提供) ### 监控工具(可选) - [ ] htop(系统资源监控) - [ ] iftop(网络流量监控) - [ ] netdata(实时性能监控) --- ## 🚨 应急预案确认 ### 备份策略 - [ ] PVE虚拟机配置已备份 - [ ] WireGuard配置已备份 - [ ] K8s证书已备份 - [ ] etcd数据已备份(如现有集群) ### 回滚方案 - [ ] 已准备WireGuard配置回滚步骤 - [ ] 已准备VM删除/恢复步骤 - [ ] 已准备K8s节点移除步骤 - [ ] 已记录所有原始配置 ### 故障处理 - [ ] 已阅读 `1.5、云C部署指南.md` 故障排查章节 - [ ] 已准备网络诊断工具(ping, traceroute, tcpdump) - [ ] 已了解etcd故障恢复步骤 --- ## ✨ 部署后验证清单 ### 网络验证 - [ ] WireGuard Full Mesh连接正常 - [ ] 所有节点互通(<1ms延迟云端,~180ms公司) - [ ] DNS解析正常 - [ ] 公网IP访问正常 ### K8s集群验证 - [ ] 所有节点状态为Ready - [ ] etcd集群健康(3节点) - [ ] 核心组件Pod运行正常 - [ ] Calico网络正常 - [ ] CoreDNS正常工作 ### 存储验证 - [ ] Longhorn识别所有Worker节点存储 - [ ] 存储总容量正确(5.4TB可用) - [ ] 3副本策略生效 ### 负载均衡验证 - [ ] MetalLB运行正常 - [ ] LoadBalancer IP池配置正确 - [ ] 测试服务可通过公网IP访问 --- ## 📊 资源配置总览 ### 虚拟机资源分配(优化方案) | 节点 | VM ID | CPU | 内存 | 系统盘 | 数据盘 | IP地址 | |------|-------|-----|------|--------|--------|--------| | **云A** | | Master-1 | 101 | 6C | 16G | 100G | - | 10.255.0.101 | | Worker-A-1 | 102 | 16C | 52G | 100G | 900G | 10.255.0.111 | | Worker-A-2 | 103 | 16C | 52G | 100G | 900G | 10.255.0.112 | | **云B** | | Master-2 | 201 | 6C | 16G | 100G | - | 10.255.0.102 | | Worker-B-1 | 202 | 16C | 52G | 100G | 900G | 10.255.0.113 | | Worker-B-2 | 203 | 16C | 52G | 100G | 900G | 10.255.0.114 | | **云C** | | Master-3 | 301 | 6C | 16G | 100G | - | 10.255.0.103 | | Worker-C-1 | 302 | 16C | 52G | 100G | 900G | 10.255.0.115 | | Worker-C-2 | 303 | 16C | 52G | 100G | 900G | 10.255.0.116 | **总资源:** - Master: 3节点 × 6C = 18核 - Worker: 6节点 × 16C = 96核 - 总虚拟CPU: 114核(每服务器38核,2.375:1超配) - 总内存: 360GB - 总存储: 5.4TB(Longhorn 3副本) --- ## 📝 关键信息记录 ### 集群信息 ```yaml 集群名称: KtCloudGroup K8s版本: 最新稳定版(推荐 v1.28.x+) CPU方案: 平衡方案(6C Master / 16C Worker,2.375:1超配) 默认密码: Kt#admin(Harbor、Gitea等服务) Pod网络: 172.16.0.0/12 Service网络: 10.96.0.0/12 API Server VIP: 10.255.0.100 ``` ### 域名信息 ```yaml 管理域名: ktnet.cc 业务域名: ktcloud.cc DNS方案: CoreDNS(K8s集群内) DNS服务商: _____________________ Cloudflare API Token: _____________________ ``` ### 网络和服务配置 ```yaml VPN方案: 公司网关统一接入(WireGuard Hub-Spoke) 公司网关VPN IP: 10.255.0.100 代码仓库: Gitea (git.ktnet.cc - 10.255.1.12) CI/CD工具: Running (running.ktnet.cc - 10.255.1.16) 容器仓库: Harbor (harbor.ktnet.cc - 10.255.1.10) ``` ### 监控信息(后续配置) ```yaml Prometheus: prometheus.ktnet.cc (10.255.1.14) Grafana: monitor.ktnet.cc (10.255.1.11) AlertManager: alert.ktnet.cc (10.255.1.15) 日志系统: logs.ktnet.cc (10.255.1.13) - Kibana ``` --- ## ✅ 最终确认 ### 部署前确认 - [ ] 所有硬件资源已到位 - [ ] 所有网络信息已收集 - [ ] 所有密钥已准备 - [ ] 所有文档已阅读 - [ ] 部署时间已规划 - [ ] 应急预案已准备 - [ ] 团队成员已通知 ### 签字确认 **准备人员:** _____________________ 日期:_____________________ **审核人员:** _____________________ 日期:_____________________ **批准人员:** _____________________ 日期:_____________________ --- ## 🚀 开始部署 所有检查项完成后,可以开始部署: 1. **云C网络配置** - 参考 `1.5、云C部署指南.md` 阶段1 2. **WireGuard配置** - 参考 `1.5、云C部署指南.md` 阶段2 3. **创建VM** - 参考 `1.5、云C部署指南.md` 阶段3 4. **K8s集群扩展** - 参考 `1.5、云C部署指南.md` 阶段4-5 **祝部署顺利!** 🎉 --- **文档版本:** v1.0 **更新时间:** 2025-01-22 **适用项目:** 混合云K8s生产级高可用集群
arise
2025年11月22日 09:49
转发文档
收藏文档
‹‹
‹
7
/ 17
›
››
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
PDF文档(打印)
分享
链接
类型
密码
更新密码