Helmチャートを1つインストールするだけ。kubelet、ホスト、kube-stateメトリクスがOTLPで流れ込みます。OpenTelemetry Operatorがアプリのスパンにpod情報を注入するため、遅いリクエストから実際に処理したレプリカへ直接到達できます。
| Namespace | Workload | Kind | Ready | CPU | Memory | Node |
|---|---|---|---|---|---|---|
| default | api-gateway | Deployment | 3/3 | ip-10-0-1-12 | ||
| default | order-service | Deployment | 4/4 | ip-10-0-1-44 | ||
| default | checkout-worker | StatefulSet | 2/2 | ip-10-0-2-08 | ||
| observability | otel-collector | DaemonSet | 6/6 | per-node | ||
| default | payment-svc | Deployment | 2/3 ⟳ | ip-10-0-1-44 | ||
| default | inventory-svc | Deployment | 3/3 | ip-10-0-2-08 | ||
| kube-system | coredns | Deployment | 2/2 | ip-10-0-1-12 | ||
| ingress-nginx | nginx-ingress | DaemonSet | 3/3 | per-node |
maple-k8s-infraは端から端まで読める小さなHelmチャートです。pod単位のkubeletメトリクス、node単位のホストメトリクス、クラスター全体のkube-stateメトリクス、各nodeにOTLPレシーバーを配置。
スパンにはk8s.pod.name、k8s.node.name、k8s.namespace.nameが付与されます。遅いトレースから、それを実行したpodとnodeへ直接ドリルダウン。
Deployment、StatefulSet、DaemonSet、レプリカ数、podフェーズ。すべて標準のkube-state-metricsエクスポーター経由で収集。
ダッシュボードに3つのファーストクラスインフラビュー。Deployment、単一のpod、単一のnodeを、他の場所と同じフィルタで調査できます。
Admission時にOTEL_EXPORTER_OTLP_ENDPOINTとpod/node識別情報がpodに注入されます。OTel SDKがリンクされているアプリは、コード変更なしで計装されます。
組織ごとに1つの取り込みエンドポイント。本番、ステージング、開発者のkindクラスターから送信し、cluster-nameリソース属性で分割可能。