apiVersion: v1 kind: ConfigMap metadata: name: opentelemetry-collector-conf labels: app: opentelemetry-collector data: opentelemetry-collector-config: | receivers: opencensus: endpoint: 0.0.0.0:55678 otlp/auth: protocols: grpc: endpoint: 0.0.0.0:5317 auth: authenticator: bearertokenauth otlp: protocols: grpc: endpoint: 0.0.0.0:4317 http: endpoint: 0.0.0.0:4318 processors: batch: exporters: zipkin: # Export to zipkin for easy querying endpoint: http://zipkin.istio-system.svc:9411/api/v2/spans debug: verbosity: detailed extensions: bearertokenauth: token: "somerandomtoken" health_check: pprof: zpages: service: extensions: - health_check - pprof - zpages - bearertokenauth pipelines: logs: receivers: [otlp] processors: [batch] exporters: [debug] traces: receivers: - otlp - opencensus exporters: - zipkin - debug traces/auth: receivers: - otlp/auth exporters: - zipkin - debug --- apiVersion: v1 kind: Service metadata: name: opentelemetry-collector labels: app: opentelemetry-collector spec: ports: - name: grpc-opencensus port: 55678 protocol: TCP targetPort: 55678 - name: grpc-otlp # Default endpoint for OpenTelemetry receiver. port: 4317 protocol: TCP targetPort: 4317 - name: http-otlp # HTTP endpoint for OpenTelemetry receiver. port: 4318 protocol: TCP targetPort: 4318 - name: grpc-otlp-auth # HTTP endpoint with basic auth for OpenTelemetry receiver. port: 5317 protocol: TCP targetPort: 5317 selector: app: opentelemetry-collector --- apiVersion: apps/v1 kind: Deployment metadata: name: opentelemetry-collector spec: selector: matchLabels: app: opentelemetry-collector strategy: rollingUpdate: maxSurge: 1 maxUnavailable: 1 type: RollingUpdate template: metadata: labels: app: opentelemetry-collector sidecar.istio.io/inject: "false" # do not inject spec: containers: - args: - "--config=/conf/opentelemetry-collector-config.yaml" env: - name: POD_NAME valueFrom: fieldRef: apiVersion: v1 fieldPath: metadata.name - name: POD_NAMESPACE valueFrom: fieldRef: apiVersion: v1 fieldPath: metadata.namespace image: otel/opentelemetry-collector-contrib:0.123.0 imagePullPolicy: IfNotPresent name: opentelemetry-collector ports: - containerPort: 4317 protocol: TCP - containerPort: 4318 protocol: TCP - name: grpc-opencensus containerPort: 55678 protocol: TCP resources: limits: cpu: "2" memory: 4Gi requests: cpu: 200m memory: 400Mi terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - name: opentelemetry-collector-config-vol mountPath: /conf dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler terminationGracePeriodSeconds: 30 volumes: - configMap: defaultMode: 420 items: - key: opentelemetry-collector-config path: opentelemetry-collector-config.yaml name: opentelemetry-collector-conf name: opentelemetry-collector-config-vol