大家好,我是程序员柏风,AI 最全的 Vibecoding 学习地图 http://coderoadmap.cn 作者。
K8s 可观测性栈综合选型
本 track 闭环:在 Kubernetes 上为 CodeRoadMap(platform + backend + MySQL)设计 metrics + logs + traces + infra + artifacts 组合方案,并说明与 observability-essentials、prometheus-essentials 的衔接,对齐 DevOps 路线图 observability 与 delivery 节点。
学习目标
- 交付一份 K8s 可观测性架构图 与组件清单(Helm chart 名称级)
- 在「全自建 / 全 SaaS / 混合」中做出有理有据的选型并估算成本量级
- 列出 onboarding 检查清单:从集群到第一次有效告警 ≤ 1 天
场景假设
- 集群:3 node,staging + prod 命名空间
- 工作负载:Spring Boot backend、Next.js platform、MySQL StatefulSet
- 约束:团队 2 名 DevOps,预算有限,需支持 traceId 关联排障
推荐基线(自建混合)
Metrics: kube-prometheus-stack(Prometheus Operator + Grafana)
Logs: Loki + Promtail DaemonSet
Traces: OTel Collector → Jaeger(或 Grafana Tempo)
Infra: node-exporter(已含)+ 可选 Zabbix 管 VM 边界
Artifacts: Nexus OSS(CI docker push + Helm chart host)
# 概念:kube-prometheus-stack values 片段
prometheus:
prometheusSpec:
serviceMonitorSelectorNilUsesHelmValues: false
grafana:
additionalDataSources:
- name: Loki
type: loki
url: http://loki:3100
- name: Jaeger
type: jaeger
url: http://jaeger-query:16686
ServiceMonitor 抓 backend /actuator/prometheus(prom-k8s);Pod annotation 让 Promtail 解析 JSON 日志中的 trace_id(dob-loki)。
选型决策树
| 若你… | 倾向 |
|---|---|
| 无专职 SRE、要最快价值 | Datadog / New Relic 全家桶 |
| 已有 ES 团队、heavy 日志分析 | EFK + Prometheus |
| 云原生、成本敏感 | kube-prometheus-stack + Loki + Jaeger |
| 强合规 SIEM | Splunk 或 Elastic Security + 现有 APM |
交付物
- 架构图(draw.io):数据流从 Pod → Agent → 存储 → Grafana
- values.yaml 或 compose 清单链接 ops lab 目录
- Runbook 一页:BackendDown 告警 → LogQL trace_id → Jaeger span → rollback 镜像(dob-artifacts)
- 200 字复盘:metrics 发现、logs 确认、traces 定因各一步
练习
- 提交 K8s 可观测性架构图与 Helm release 列表
- 截图:Grafana 同屏 metrics + logs + trace(Explore 或 Dashboard)
- 写对比表:你的方案 vs 全 Datadog,5 维度打分(成本、运维、功能、扩展、锁定)
小结
devops-observability-essentials 目标:让你在 K8s 真实约束下选出可落地、可关联、可告警的可观测性 + 制品组合,而非堆砌工具名。 继续深入可学 kubernetes-essentials 与 helm-gitops-essentials。