--- apiVersion: v1 kind: ConfigMap metadata: name: collector-config data: collector.yaml: | receivers: prometheus: config: scrape_configs: - job_name: "otel-collector" kubernetes_sd_configs: - role: pod relabel_configs: - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scrape] regex: "true" action: keep processors: exporters: logging: loglevel: debug service: pipelines: metrics: receivers: [prometheus] processors: [] exporters: [logging] --- apiVersion: apps/v1 kind: Deployment metadata: name: opentelemetrycollector spec: replicas: 1 selector: matchLabels: app.kubernetes.io/name: opentelemetrycollector template: metadata: labels: app.kubernetes.io/name: opentelemetrycollector spec: containers: - name: otelcol args: - --config=/conf/collector.yaml image: otel/opentelemetry-collector:latest volumeMounts: - mountPath: /conf name: collector-config volumes: - configMap: items: - key: collector.yaml path: collector.yaml name: collector-config name: collector-config --- kind: ClusterRole apiVersion: rbac.authorization.k8s.io/v1 metadata: namespace: default name: service-reader rules: - apiGroups: [""] # "" indicates the core API group resources: ["services","pods"] verbs: ["get", "watch", "list"]