一、多租户与资源隔离(商用 PaaS 的基石)
教程现状:只有用户 - 角色 - 权限的 RBAC 模型,没有真正的多租户隔离。
1.1 租户体系
- 租户(Tenant/Organization)模型:支持多组织隔离,每个租户有独立的资源配额、成员、计费
- 项目 / 命名空间映射:租户下可创建多个项目(Project),每个项目对应 K8s 中的一个或多个 Namespace
- 租户级资源配额:CPU、内存、存储、Pod 数、Service 数、Ingress 数等 Quota 管理
- 租户成员管理:邀请、移除、角色分配(租户管理员、开发者、只读等)
- 租户级配置隔离:镜像仓库凭证、域名证书、Git 密钥、环境变量等按租户隔离
1.2 网络隔离
- NetworkPolicy:默认拒绝跨租户网络访问,白名单模式
- Ingress 隔离:每个租户有独立的域名前缀或独立域名,防止域名冲突
- Service 隔离:跨 Namespace / 租户的 Service 发现需要显式授权
- 多租户 CNI 方案:如 Calico BGP 隔离、Subnet-per-tenant、或 VPC 级隔离
1.3 数据隔离
- 数据库隔离策略:共享库分表(schema 隔离) vs 独立库 vs 独立实例,按租户等级选择
- 中间件实例隔离:共享中间件集群(逻辑库隔离) vs 独占中间件实例
- 存储隔离:StorageClass 按租户划分,PVC 配额限制
- 缓存隔离:Redis 按租户分 DB 或独立实例
二、高可用与容灾(SLA 保障)
教程现状:单实例部署,没有高可用设计。
2.1 平台自身高可用
- 所有微服务多副本部署:Pod 反亲和性,跨节点 / 可用区分布
- 数据库高可用:MySQL 主从 / MGR / PostgreSQL 流复制,自动故障切换
- 缓存高可用:Redis Cluster / Sentinel
- 消息队列高可用:Kafka / RabbitMQ 集群
- 注册配置中心高可用:Consul / Nacos /etcd 集群
- API 网关高可用:多实例 + 负载均衡 + 限流熔断
2.2 K8s 集群高可用
- 控制面高可用:3 节点 etcd + 3 节点 master,VIP / 负载均衡
- 多可用区部署:节点跨 AZ 分布,Pod 拓扑 spread constraints
- 节点池管理:按用途分节点池(系统节点、计算节点、GPU 节点、ARM 节点)
- 节点自动伸缩:Cluster Autoscaler / Karpenter
2.3 容灾与备份
- etcd 定期备份:全量 + 增量备份,异地存储
- 数据库备份:物理备份 + 逻辑备份,定时自动备份,恢复演练
- 应用数据备份:PV 快照(VolumeSnapshot),定时快照策略
- 跨集群容灾:多活 / 灾备集群,应用一键迁移 / 故障切换
- 平台配置备份:租户、项目、应用配置的导出 / 导入
三、安全合规(商用必过)
教程现状:基本没有安全设计。
3.1 认证与授权增强
- SSO 集成:支持 OIDC / SAML / LDAP / OAuth2,对接企业身份提供商
- MFA 多因素认证:TOTP / 短信 / 邮件验证码
- API 鉴权强化:JWT + 刷新令牌 + Token 黑名单 + 设备管理
- 细粒度权限:基于属性的访问控制 ABAC,资源级权限(如只能操作某个应用)
- 操作审计:所有 API 调用、控制台操作记录审计日志,不可篡改
3.2 K8s 安全
- RBAC 最小权限:平台服务账号最小权限原则,禁止 cluster-admin 滥用
- Pod 安全标准:PSA(Pod Security Admission),禁止特权容器、root 用户
- 镜像安全:镜像漏洞扫描(Trivy / Harbor 扫描),阻断高危镜像部署
- 镜像签名验证:Cosign / Notary,确保镜像来源可信
- 准入控制:OPA/Gatekeeper/ Kyverno,强制安全策略(资源限制、探针、标签等)
- Secrets 管理:Vault / Sealed Secrets / External Secrets,敏感信息加密存储
- 网络策略:默认拒绝,最小开放原则
3.3 应用安全
- WAF 防护:Ingress 层集成 WAF,防 SQL 注入、XSS、CC 攻击
- DDoS 防护:接入云厂商 DDoS 防护或自建
- 证书管理:自动签发 / 续期 HTTPS 证书(cert-manager + Let’s Encrypt / 私有 CA)
- 密钥轮换:数据库密码、API 密钥定期轮换机制
- 依赖安全:第三方依赖漏洞扫描(SCA)
3.4 数据安全与合规
- 数据加密:传输加密(TLS)+ 存储加密(数据库、存储卷)
- 数据脱敏:日志、导出数据中的敏感信息脱敏
- 隐私合规:GDPR / 等保 2.0 / 数据安全法相关要求
- 日志留存:审计日志、操作日志按法规要求留存时长
四、可观测性体系(从监控到可观测)
教程现状:只有 Prometheus + Grafana 基础监控。
4.1 监控增强
- 多维度监控:集群级、节点级、命名空间级、应用级、Pod 级、容器级
- 自定义指标:应用业务指标接入(Prometheus client / OpenTelemetry)
- 黑盒监控:Blackbox Exporter,监控 HTTP/TCP/ICMP 可用性
- 监控告警分级:P0/P1/P2/P3,不同级别不同通知渠道
- 告警收敛与降噪:Alertmanager 分组、抑制、静默
- 多通知渠道:邮件、钉钉 / 企业微信 / 飞书、短信、电话、Webhook
4.2 日志体系
- 集中式日志收集:EFK / Loki,按租户 / 项目隔离日志
- 日志标准化:结构化日志(JSON),统一日志格式
- 日志检索:支持按时间、级别、服务、TraceID 等多维度检索
- 日志轮转与留存:按策略自动清理,冷数据归档
- 日志审计:安全审计日志独立存储和分析
4.3 链路追踪
- 全链路追踪:OpenTelemetry / Jaeger / SkyWalking
- Trace 贯穿:从网关 → 微服务 → 数据库 → 中间件全链路
- 采样策略:头部采样 + 尾部采样,错误链路全采
- 链路拓扑:自动生成服务依赖拓扑图
4.4 SLO/SLI 管理
- 服务等级目标:定义各服务的 SLO(可用性、延迟、错误率)
- 错误预算:基于 SLO 计算错误预算,指导发布节奏
- 可用性报表:按月 / 季度输出 SLO 达成情况
五、CI/CD 与应用交付(PaaS 核心价值)
教程现状:只有手动部署应用,没有 CI/CD 流水线。
5.1 CI/CD 流水线
- 流水线引擎:Tekton / Argo Workflows / Jenkins
- 可视化流水线编排:拖拽式或 YAML 配置,支持多阶段
- 代码源集成:GitLab / GitHub / Gitee / Bitbucket
- 构建能力:Docker 镜像构建、多架构构建、构建缓存
- 静态代码检查:SonarQube / golangci-lint
- 单元测试与覆盖率:自动运行测试,覆盖率卡点
- 镜像安全扫描:构建后自动扫描,高危阻断
- 制品管理:镜像仓库(Harbor)、Helm Chart 仓库
- 部署策略:蓝绿、金丝雀、灰度、滚动发布
- 自动回滚:发布失败 / 指标异常自动回滚
- 环境管理:开发、测试、预发、生产多环境,配置隔离
5.2 GitOps
- 声明式部署:ArgoCD / Flux,Git 作为唯一可信源
- 配置漂移检测:自动检测集群状态与 Git 配置的差异
- 渐进式交付:Argo Rollouts,结合指标分析的灰度发布
5.3 应用市场增强
- Helm Chart 支持:标准 Helm 应用包格式
- 应用模板:一键部署常用应用(WordPress、GitLab、Jenkins 等)
- 版本管理:应用版本历史,一键升级 / 回滚
- 应用参数配置:可视化配置 Values,高级模式 YAML 编辑
- 应用依赖管理:中间件依赖自动创建
六、中间件服务(从创建到全生命周期管理)
教程现状:只有基础的中间件创建功能。
6.1 中间件种类扩展
- 数据库:MySQL、PostgreSQL、MongoDB、Redis、Elasticsearch、ClickHouse
- 消息队列:Kafka、RabbitMQ、RocketMQ
- 缓存:Redis Cluster、Memcached
- 搜索引擎:Elasticsearch、OpenSearch
- 注册配置中心:Nacos、Consul、Apollo
- 其他:MinIO、ETCD、ZooKeeper
6.2 中间件 Operator 化
- 基于 Operator 模式:用 K8s Operator 管理中间件生命周期
- 集群模式支持:主从、哨兵、集群模式,而非单实例
- 自动故障切换:主节点故障自动选主
- 弹性伸缩:节点数水平扩展,存储容量垂直扩展
- 版本升级:在线滚动升级,不停机
6.3 中间件运维能力
- 监控告警:内置监控面板和告警规则
- 备份恢复:自动备份,一键恢复到指定时间点(PITR)
- 日志管理:中间件日志收集和查询
- 性能诊断:慢查询、连接数、内存使用率等分析
- 参数调优:常用参数可视化配置,推荐配置模板
- 连接池管理:数据库连接池、ProxySQL / PgBouncer
6.4 中间件服务化
- 服务目录:中间件服务目录,按类型 / 规格 / 价格展示
- 一键开通:选择规格、版本、配置,一键创建
- 服务绑定:应用自动注入中间件连接信息
- 按量 / 包年包月:不同计费模式
- 服务等级协议:不同 SLA 等级的中间件服务
七、存储与数据管理
教程现状:基础的 Ceph CSI + PVC 管理。
7.1 存储服务增强
- 多存储后端:Ceph RBD / CephFS、云盘(EBS / 云硬盘)、本地存储、NFS、GlusterFS
- StorageClass 管理:多种存储类型(高性能、容量型、冷存储)
- 存储配额:租户 / 项目级存储配额
- PV/PVC 生命周期:创建、扩容、快照、克隆、迁移、删除
- 数据备份:定时快照,跨区域备份
- 存储性能监控:IOPS、吞吐量、延迟监控
7.2 数据库服务
- 数据库即服务(DBaaS) :见中间件部分
- 数据迁移:支持从外部数据库迁移到平台
- 数据同步:主从同步、跨集群同步
- 数据导出 / 导入:可视化导出导入
八、网络与网关
教程现状:基础的 Ingress 管理。
8.1 网关能力增强
- API 网关:Kong / APISIX / Envoy,支持限流、熔断、认证、日志
- 多协议支持:HTTP/HTTPS、gRPC、WebSocket、TCP/UDP
- 负载均衡策略:轮询、加权、最少连接、一致性哈希
- 健康检查:主动 + 被动健康检查
- 重试与超时:可配置的重试策略和超时时间
8.2 服务网格(可选,高级功能)
- Istio / Linkerd:服务间通信管理
- 流量治理:灰度、熔断、限流、重试
- 安全通信:mTLS 双向认证
- 可观测性:服务间调用链、指标、日志
- 服务治理:故障注入、流量镜像
8.3 域名与证书
- 域名管理:租户域名绑定、域名校验
- 证书管理:自动签发、自动续期、证书过期提醒
- HTTP/HTTPS:强制 HTTPS、HSTS
- 自定义域名:支持用户绑定自有域名
九、计费与商业化
教程现状:完全没有计费体系。
9.1 计费模型
- 资源计费:CPU、内存、存储、网络按用量计费
- 中间件计费:按实例规格 + 存储 + 备份计费
- 计费模式:按量付费(小时 / 天)、包年包月、预留实例
- 价格管理:不同资源类型的定价策略
- 账单明细:按租户、项目、资源维度的详细账单
9.2 账户与支付
- 账户体系:余额、充值、消费记录
- 支付集成:支付宝、微信、银行转账
- 发票管理:电子发票开具、下载
- 欠费管理:欠费提醒、停服策略、数据保留期
- 优惠券 / 折扣:促销活动、代金券、折扣码
9.3 成本管理
- 成本分析:资源使用成本分析,优化建议
- 预算告警:设置预算阈值,超支告警
- 资源优化:闲置资源识别、推荐降配
- 标签计费:按标签分摊成本
十、运维与平台治理
10.1 集群管理
- 多集群管理:统一管理多个 K8s 集群,跨集群部署
- 集群生命周期:创建、升级、扩容、销毁
- 节点管理:节点上下线、 cordon/uncordon、drain
- 节点标签与污点:节点池管理,调度策略
- K8s 版本管理:版本升级,兼容性检查
10.2 应用运维
- 应用生命周期:创建、部署、升级、回滚、停止、删除
- 弹性伸缩:HPA(基于 CPU / 内存 / 自定义指标)、VPA
- 定时伸缩:按时间计划扩缩容
- 故障自愈:Pod 异常自动重建,节点故障自动迁移
- 应用诊断:日志、事件、终端、端口转发、文件管理
- 配置管理:ConfigMap/Secret 管理,配置热更新
- 环境变量:应用环境变量管理,密钥引用
10.3 平台运维
- 系统监控:平台自身服务的监控告警
- 容量规划:资源使用率趋势预测,扩容建议
- 性能调优:K8s 调优、中间件调优、应用调优
- 变更管理:平台变更审批、变更窗口
- 巡检报告:定期自动巡检,输出健康报告
10.4 工单与支持
- 工单系统:用户提交问题,客服 / 技术支持处理
- 知识库:常见问题、使用文档、最佳实践
- 公告通知:平台公告、维护通知、升级通知
十一、前端与用户体验
教程现状:基础的管理后台页面。
11.1 UI/UX 增强
- 设计系统:统一的设计语言和组件库
- 响应式设计:适配不同屏幕尺寸
- 国际化:多语言支持(中 / 英等)
- 主题切换:明暗主题
- 操作引导:新手引导、功能提示
11.2 功能完善
- 仪表盘:资源概览、应用状态、告警概览、成本概览
- 应用拓扑:可视化应用架构图
- 实时日志:终端式日志查看,实时滚动
- Web 终端:浏览器内直接进入容器终端
- 文件管理:容器内文件上传下载
- 监控面板:应用级监控图表,自定义仪表盘
- 操作历史:资源操作历史记录
- 批量操作:批量部署、批量删除、批量重启
11.3 开发者体验
- CLI 工具:命令行工具,支持脚本化操作
- API 文档:完整的 OpenAPI 文档,SDK
- Terraform Provider:基础设施即代码支持
- Webhook:事件通知,支持集成外部系统
十二、架构与工程质量
12.1 微服务架构优化
- 服务拆分:按领域合理拆分微服务,避免单体或过细
- 服务治理:注册发现、配置中心、限流熔断、降级重试
- 服务间通信:gRPC + Protobuf,接口版本管理
- 消息队列:异步解耦,削峰填谷
- 分布式事务:Saga / TCC / 本地消息表,确保数据一致性
12.2 代码质量
- 代码规范:Go 代码规范,linter 检查
- 单元测试:核心逻辑单元测试,覆盖率要求
- 集成测试:API 集成测试
- CI 质量门禁:代码检查、测试覆盖率、安全扫描卡点
- 代码评审:MR/PR 评审流程
12.3 性能与稳定性
- 压测:全链路压测,性能基线
- 性能优化:慢查询优化、缓存优化、连接池优化
- 限流降级:全局限流、服务级限流、接口级限流
- 熔断机制:错误率 / 延迟熔断,半开恢复
- 资源隔离:线程池 / 连接池隔离,避免雪崩
12.4 部署与发布
- 容器化最佳实践:镜像精简、多阶段构建、非 root 用户、健康检查
- K8s 最佳实践:资源限制、探针、亲和性、反亲和性、拓扑分布
- 发布流程:灰度发布、金丝雀发布、蓝绿发布
- 配置管理:环境配置分离,配置中心统一管理
- 版本管理:语义化版本,CHANGELOG
十三、其他商用必备
13.1 文档与支持
- 产品文档:用户手册、管理员手册、API 文档
- 运维文档:部署文档、运维手册、故障排查手册
- 开发文档:架构设计、开发规范、接口文档
- 培训材料:用户培训、管理员培训
13.2 License 与合规
- 开源合规:开源组件 License 审查,合规清单
- 第三方依赖:依赖版本管理,漏洞跟踪
- 知识产权:代码版权、专利风险评估
13.3 迁移与兼容
- 数据迁移:版本升级数据迁移脚本
- API 版本兼容:API 版本化,向后兼容
- 平滑升级:平台升级不影响用户业务
总结:教程 vs 商用差距
表格
| 模块 | 教程覆盖 | 商用需要补全 |
|---|---|---|
| 多租户 | RBAC 用户权限 | 租户体系、资源隔离、网络隔离、数据隔离 |
| 高可用 | 单实例 | 全栈高可用、容灾备份、多可用区 |
| 安全 | 几乎没有 | 认证授权、K8s 安全、应用安全、数据安全、合规 |
| 可观测性 | Prometheus+Grafana | 日志、链路追踪、SLO、告警体系 |
| CI/CD | 手动部署 | 完整流水线、GitOps、多环境、灰度发布 |
| 中间件 | 基础创建 | Operator 化、集群模式、运维能力、服务化 |
| 存储 | Ceph CSI | 多存储后端、备份恢复、数据管理 |
| 网络 | Ingress | API 网关、服务网格、域名证书管理 |
| 计费 | 无 | 计费模型、账户支付、成本管理 |
| 运维 | 基础 CRUD | 多集群、弹性伸缩、故障自愈、平台治理 |
| 前端 | 基础页面 | 完整 UI/UX、开发者体验、运维工具 |
| 工程质量 | demo 代码 | 代码规范、测试、性能、发布最佳实践 |
建议优先级(按重要程度排序):
- 多租户与资源隔离 — 商用 PaaS 的前提
- 安全合规 — 不过安全关不能上线
- 高可用与容灾 — SLA 保障
- 可观测性 — 出问题能排查
- CI/CD — PaaS 核心价值
- 中间件服务化 — 差异化竞争力
- 计费体系 — 商业化必需
- 运维治理 — 规模化运营需要
如果你要做面试项目(电力总包公司场景),建议重点突出1-5,再加一个中间件 Operator作为亮点,足够支撑架构师级别的面试深度了。