基础架构 · K8S
平台概要设计文档
版本: v0.3
日期: 2026-07-07
归属: 基础架构 / K8S 平台
1. 顶层设计
Rancher 统一纳管 ACK/EKS/K3s,标准配套组件随应用商店下发,Grafana +
Prometheus + Loki 构成可观测栈,HPA + Cluster Autoscaler
提供弹性,物理主机登记台账统一纳管。
| 层级 |
设计 |
| 控制面 |
Rancher HA,统一 RBAC、应用商店、集群备份。 |
| 集群层 |
ACK / EKS / K3s,按地域/环境独立,向 Rancher 注册。 |
| 配套层 |
metrics-server、cert-manager、ArgoCD、Ingress-Nginx、CoreDNS、kube-prometheus
标准化。 |
| 可观测层 |
Prometheus 采集 → Grafana 展示 → Loki 日志聚合。 |
| 弹性层 |
HPA + Cluster Autoscaler,节点池按业务域设上限。 |
| 物理层 |
物理主机台账(规格/位置/保修),OS 与 K8S 节点协同。 |
2. 核心业务流
flowchart LR
A["业务申请命名空间"] --> B["Rancher RBAC 审批"]
B --> C["ArgoCD 同步 Deployment"]
C --> D["Ingress + cert-manager TLS"]
D --> E["HPA 策略配置"]
E --> F["Grafana 看板生成"]
F --> G["上线运行"]
G --> H["HPA/CA 自动扩缩"]
3. 业务概要设计
| 业务能力 |
概要设计 |
| 多集群纳管 |
Rancher 导入三套集群,统一 RBAC、配额、配套组件。 |
| GitOps |
ArgoCD 以 Git 为事实源,配置变更可 diff、可回滚。 |
| 可观测 |
Prometheus 采集指标、Loki 聚合日志、Grafana 统一展示。 |
| 弹性 |
HPA + Cluster Autoscaler,命名空间配额 + 成本预算。 |
| 物理主机 |
台账登记规格/位置/保修,K8S 节点排水维护流程。 |
4. 系统边界
| 负责 |
不负责 |
| K8S 集群、Rancher、配套组件、Ingress、CoreDNS、Pod 网络。 |
VPC/子网/LB/WAF/CDN/PrivateZone(归网络模块)。 |
| 物理主机硬件台账、OS 与节点运维。 |
服务器采购、IDC 电力(归 IT/资产)。 |
| Grafana + Prometheus + Loki。 |
业务指标定义、业务日志内容。 |
| HPA/CA/成本护栏。 |
业务容量规划。 |
5. 系统顶层设计
| 组件 |
职责 |
| Rancher |
多集群控制面:RBAC、应用商店、监控集成、备份。 |
| ACK / EKS / K3s |
工作负载集群。 |
| 配套组件 |
metrics-server、cert-manager、ArgoCD、Ingress-Nginx、CoreDNS、kube-prometheus。 |
| Prometheus + Grafana |
指标采集与可视化。 |
| Loki + Promtail |
日志聚合。 |
| HPA + Cluster Autoscaler |
Pod 与节点弹性。 |
| 物理主机台账 |
裸金属/K3s 节点规格、位置、保修登记。 |
6. 系统流图
flowchart LR
subgraph Ctrl["控制面"]
RANCHER["Rancher (HA)"]
ARGO["ArgoCD"]
end
subgraph Observ["可观测"]
PROM["Prometheus"] --> GRAFANA["Grafana"]
PROM --> LOKI["Loki"]
end
subgraph CN["阿里云 ACK"]
ING_CN["Ingress-Nginx"] --> SVC_CN["业务"]
HPA_CN["HPA + CA"] --> SVC_CN
end
subgraph OVERSEA["AWS EKS"]
ING_AWS["Ingress-Nginx"] --> SVC_AWS["业务"]
HPA_AWS["HPA + CA"] --> SVC_AWS
end
subgraph IDC["内网 K3s"]
K3S["K3s 节点(物理机)"]
end
subgraph Asset["物理主机台账"]
LEDGER["规格/位置/保修"]
end
RANCHER --> CN
RANCHER --> OVERSEA
RANCHER --> IDC
ARGO --> CN
ARGO --> OVERSEA
ARGO --> IDC
CN --> PROM
OVERSEA --> PROM
IDC --> PROM
LEDGER --> IDC
7. 模型设计
| 模型 |
关键字段 |
说明 |
ClusterDef |
id、name、cloud、env、rancher_id、version |
集群定义。 |
NamespaceDef |
id、cluster_id、name、team、cpu_quota、mem_quota、max_nodes |
命名空间配额。 |
HpaPolicy |
id、ns_id、workload、min_replicas、max_replicas、metric、target |
Pod 弹性策略。 |
NodePoolPolicy |
id、cluster_id、pool_name、min_size、max_size、spot_enabled、cost_budget |
节点弹性。 |
PhysicalHost |
id、hostname、spec、location、role、warranty_until、os、status |
物理主机台账。 |
GrafanaDashboard |
id、name、folder、datasource、owner、visible_roles |
看板登记。 |
8. 验收点
| 验收点 |
标准 |
| Rancher 纳管 |
三套集群 100% 注册,配套组件统一安装。 |
| GitOps |
生产变更 100% 经 ArgoCD,0 手工 apply。 |
| Grafana 覆盖 |
集群/节点/Pod 指标 100% 可视。 |
| 弹性 |
核心命名空间 100% 有 HPA,CA 在线。 |
| 物理主机 |
内网 K3s 与裸金属 100% 有台账。 |
9. 人力评估
| 角色 |
估算 |
| 平台运维(K8S/Rancher) |
2 人 × 4 周 |
| 可观测(Grafana/Loki) |
1 人 × 3 周 |
| 物理主机/IDC |
0.5 人 × 2 周 |
| 测试验收 |
0.5 人 × 1 周 |
10. 风险点
| 风险 |
应对 |
| Rancher 单点 |
HA + etcd 备份。 |
| 弹性雪崩 |
节点上限 + 成本预算兜底。 |
| 物理主机故障 |
内网 K3s 不承载生产。 |
| Grafana 权限滥用 |
按角色/命名空间分权限。 |