| 两周内交付生产级 K8s 集群的里程碑设计背景:空白 AWS+阿里云,仅 3 台 master,两周灰度上线 27 个 Go 微服务。参考解答:• Day-0 选型:托管控制面(EKS+ACK)节省 3 台 master 费用;IaC 用 Terraform+Terragrunt;网络 AWS TGW↔阿里云 CEN;镜像 Harbor 双活;GitOps ArgoCD。• Day-1~3 网络打通:Site-to-Site VPN + BGP;DNS 统一 PrivateZone/Route53。• Day-4~7 基础集群:托管 master 高可用;3 系统节点跑 Harbor/ArgoCD/Prometheus;etcd 自动备份到 S3+OSS。• Day-8~10 CI/CD:GitLab CI 模板化;Docker Buildx 多架构;镜像签名 cosign;漏洞扫描 Trivy。• Day-11~12 可观测:Prometheus 联邦+Thanos remote-write;SLI:availability>99.9%,P99<500ms。• Day-13~14 有状态灰度:RDS MySQL 跨云 DTS 双向同步;Kafka MirrorMaker2;Redis 双写;灰度 5%→30%→100%,Argo Rollout 自动回滚。风险&回退:预算超支→改单云;控制面故障→回滚到单云;滚动失败→ArgoCD 一键 undo。 |
| 有状态服务灾备(RPO≤5min,RTO≤15min)• MySQL:AWS RDS↔阿里云集 DTS 实时双向复制,延迟<2s;每 1h 快照+每 4h 逻辑备份;Operator 用 Vitess。• Redis:主从+哨兵;跨云 RedisShake 增量;业务层写双发读本地。• Kafka:MM2 topic 级复制,RF=3,min.insync.replicas=2;监控 kafka_mirror_maker_lag<5s。• etcd:每 6h 快照→S3 版本桶;跨云季度演练,RTO 实测 11min。• 一键切换:Terraform workspace 切流量;RDS 只读→读写;Redis 哨兵 promote。 |
| 万级 Pod 规模 etcd 写延迟突增现象:kube-apiserver 大量 etcdserver: request timed out。定位:Prometheus etcd_disk_wal_fsync_duration_seconds P99=1.4s;磁盘 IOPS 耗尽;etcd raft index 落后 5k。解决:① 升 gp3 12000 IOPS;② 压缩历史数据;③ etcd 独立 NVMe 节点;④ apiserver 开 watch-cache。P99 fsync 降到 6ms。 |
| Istio 注入后 RT 飙高 30%量化:fortio 压测 baseline 20ms→Sidecar 26ms;envoy CPU 0.4core。优化:升级 1.16(去 mixer);global.proxy.concurrency=2;长连接透传 TCP。Trade-off:核心交易链路(P99<20ms)暂缓 Sidecar;边缘服务全量,节省 mTLS 开发成本。决策门:RT 增幅<10% 且错误率<0.1% 才晋级。 |
| 多云成本看板设计指标:cloud_cost_usd_per_hour{provider,account,service}。标签统一:namespace=team-app-env。数据流:CUR/账单 API→S3/OSS→Spark→VictoriaMetrics→Grafana。展现:总览→namespace→app→Pod→云资源 ID;预测 30 天趋势。案例:日志索引实例 32C→16C,月省 4.2k USD。 |
| Helm 模板兼容单/多 AZ同一 chart,prod 3AZ/stage 单 AZ,关键模板:yaml<br>topologySpreadConstraints: # 仅 highAvailable=true<br> - maxSkew: 1<br> topologyKey: topology.kubernetes.io/zone<br> whenUnsatisfiable: DoNotSchedule<br>affinity 硬/软约束通过 .Values.global.highAvailable 切换。 |
| COE(Correction of Errors)模板示例:2023-08-14 订单服务 502 18min,2.1k 订单失败,31k USD 损失。根因:Go JSON 无池化,CPU throttle,limit 0.5core。修正:回滚→放大 limit→sync.Pool 优化,CPU 降 45%。预防:压测 500rps 基线才能晋级;HPA maxReplicas 30→60。 |
| 可灰度、可观测、可回滚 10 条 checklist1. 版本标签唯一(git sha)2. 金丝雀 5%→30%→100%,flagger 自动暂停3. 错误率>1% 或 P99>500ms 自动回滚4. Dashboard 带 version 变量5. Prometheus 记录规则 canary_error_rate{version="$new"}6. ArgoCD Synced&Healthy7. 回滚脚本 ≤120s8. 压测报告随 MR9. 灾备延迟<5s 才晋级10. on-call 人工 ✅ 才继续 |
| 控制面 etcd 备份与跨云恢复演练备份:每 6h 快照 + 每天一致性校验;S3 版本桶保留 30 天。演练:季度拉练,KPI:RTO≤30min,数据零丢失。SOP:新 VPC 启动 3 台 etcd→etcdctl snapshot restore→更新 apiserver endpoints→smoke test。 |
| Service Mesh ROI 计算成本:Sidecar 内存 100MB×5k Pod=500GB≈1.2k USD/月;人力 2 人月=160k CNY。收益:节省自建 mTLS 240k CNY;APM license 50k USD/年;发布自动化省 100k CNY/年。ROI:第一年净收益 300k CNY,投资回收期 4 个月。 |