实验系列简介
难度:高级 最后更新:February 23, 2026
概述
本实验系列将带您全面、动手构建一个面向基于 Kubernetes 的微服务的全栈可观测性平台。您将在两个 EKS 集群中部署并集成多种可观测性工具,采用真实场景模式实现可观测性的三大支柱(Metrics、Logs、Traces)。
该架构模拟了生产级环境:Managed Cluster 承载可观测性栈,Service Cluster 运行采用 OTel 插桩的 MSA 应用程序。
架构图
前置条件
开始本实验系列前,请确保您具备以下条件:
| 要求 | 版本 | 验证命令 |
|---|---|---|
| AWS 账户 | - | aws sts get-caller-identity |
| AWS CLI | >= 2.15 | aws --version |
| eksctl | >= 0.175 | eksctl version |
| kubectl | >= 1.29 | kubectl version --client |
| Helm | >= 3.14 | helm version |
| Terraform | >= 1.7 | terraform version |
| k6 | >= 0.49 | k6 version |
| Docker | >= 24.0 | docker --version |
必需的 IAM 权限
您的 AWS 用户/角色需要以下权限:
- EKS 完全访问权限
- EC2 完全访问权限(用于节点组)
- VPC 完全访问权限
- IAM 有限访问权限(用于 IRSA)
- CloudFormation 完全访问权限
- SQS/SNS 完全访问权限
- RDS 完全访问权限(用于 Aurora)
- OpenSearch 完全访问权限
- Managed Prometheus/Grafana 完全访问权限
- MWAA 完全访问权限
成本估算
警告:本实验系列会创建大量 AWS 资源。以下提供预估成本。
| 服务 | 配置 | 每小时成本(USD) |
|---|---|---|
| EKS Control Plane | 2 个集群 | $0.20 |
| EC2(Managed Cluster) | 3x m5.xlarge | $0.58 |
| EC2(Service Cluster) | 3x m5.large(+ Karpenter 扩缩容) | $0.29+ |
| Aurora PostgreSQL | db.r6g.large(多 AZ) | $0.52 |
| OpenSearch | m6g.large.search(2 个节点) | $0.25 |
| Amazon Managed Prometheus | 基于摄取量 | ~$0.10 |
| Amazon Managed Grafana | 1 个工作区 | $0.15 |
| MWAA | mw1.small | $0.31 |
| SQS/SNS | 基于使用量 | ~$0.01 |
| 总估算 | ~$2.50/小时 |
提示:请在一次会话中完成实验,并立即执行清理,以最大限度地降低成本。
实验顺序
| 部分 | 标题 | 时长 | 关键主题 |
|---|---|---|---|
| 1 | 基础设施设置 | 60 分钟 | EKS 集群、AWS 服务、ArgoCD |
| 2 | 可观测性栈 | 90 分钟 | OTel、Prometheus、Loki、Tempo、Grafana |
| 3 | MSA 部署与 Canary | 60 分钟 | ArgoCD、Argo Rollouts、OTel 插桩 |
| 4 | 负载测试与扩缩容 | 45 分钟 | k6、KEDA、Karpenter |
| 5 | 告警与 AIOps | 60 分钟 | Alertmanager、OnCall、CloudWatch 调查 |
| 6 | 分布式追踪 | 45 分钟 | Tempo、TraceQL、Log-Trace 关联 |
MSA 应用程序概述
本实验使用一个包含 5 个服务的示例电子商务 MSA 应用程序:
| 服务 | 语言 | 角色 | 依赖项 |
|---|---|---|---|
| API Gateway | Go | 请求路由、身份验证 | Order、Payment |
| Order Service | Python (FastAPI) | 订单管理、库存 | Aurora、SQS |
| Payment Service | Java (Spring Boot) | 支付处理 | Aurora |
| Notification Service | Node.js (Express) | 电子邮件/SMS 通知 | SQS 消费者 |
| Analytics Batch | Python | 每日分析聚合 | Aurora,由 MWAA 触发 |
服务调用流程
可观测性工具覆盖范围
本实验涵盖以下可观测性工具:
| 类别 | 涵盖的工具 | AWS 集成 |
|---|---|---|
| Metrics | Prometheus、VictoriaMetrics、Mimir | AMP(remote write) |
| 日志 | Loki、ClickHouse、Fluent Bit | CloudWatch Logs、OpenSearch |
| 追踪 | Tempo、OTel Collector | X-Ray(通过 OTel) |
| 可视化 | Grafana | AMG |
| 告警 | Alertmanager、Grafana OnCall | CloudWatch Alarms、SNS |
| AIOps | CloudWatch Investigations | Bedrock Claude 集成 |
注意:本实验聚焦于开源及 AWS 原生工具。Datadog 和 Dynatrace 等商业解决方案将在单独的文档中介绍,但不会在本实验中部署。
学习成果
完成本实验系列后,您将能够:
- 设计面向 Kubernetes 的生产级可观测性架构
- 使用 OTel 部署完整的 LGTM 栈(Loki、Grafana、Tempo、Mimir)
- 使用 OTel Collector 配置多后端遥测管道
- 通过可观测性驱动的分析实施 Canary 部署
- 使用 CloudWatch Investigations 和 Bedrock 构建 AIOps 工作流
- 分析分布式追踪以识别性能瓶颈
- 关联 Metrics、Logs 和 Traces,以进行根本原因分析
参考资料
准备好开始了吗? 从第 1 部分:基础设施设置开始