apiVersion: v1 kind: ConfigMap metadata: name: otel-collector-conf labels: app: opentelemetry component: otel-collector-conf data: otel-collector-config: | receivers: zipkin: endpoint: 0.0.0.0:9411 extensions: health_check: pprof: endpoint: :1888 zpages: endpoint: :55679 exporters: logging: loglevel: debug azuremonitor: endpoint: "https://dc.services.visualstudio.com/v2/track" instrumentation_key: "" # maxbatchsize is the maximum number of items that can be # queued before calling to the configured endpoint maxbatchsize: 100 # maxbatchinterval is the maximum time to wait before calling # the configured endpoint. maxbatchinterval: 10s service: extensions: [pprof, zpages, health_check] pipelines: traces: receivers: [zipkin] exporters: [azuremonitor,logging] --- apiVersion: v1 kind: Service metadata: name: otel-collector labels: app: opencesus component: otel-collector spec: ports: - name: zipkin # Default endpoint for Zipkin receiver. port: 9411 protocol: TCP targetPort: 9411 selector: component: otel-collector --- apiVersion: apps/v1 kind: Deployment metadata: name: otel-collector labels: app: opentelemetry component: otel-collector spec: replicas: 1 # scale out based on your usage selector: matchLabels: app: opentelemetry template: metadata: labels: app: opentelemetry component: otel-collector spec: containers: - name: otel-collector image: otel/opentelemetry-collector-contrib:0.50.0 command: - "/otelcol-contrib" - "--config=/conf/otel-collector-config.yaml" resources: limits: cpu: 1 memory: 2Gi requests: cpu: 200m memory: 400Mi ports: - containerPort: 9411 # Default endpoint for Zipkin receiver. volumeMounts: - name: otel-collector-config-vol mountPath: /conf livenessProbe: httpGet: path: / port: 13133 readinessProbe: httpGet: path: / port: 13133 volumes: - configMap: name: otel-collector-conf items: - key: otel-collector-config path: otel-collector-config.yaml name: otel-collector-config-vol