apiVersion: v1 kind: ConfigMap metadata: name: otel-collector-conf labels: app: opentelemetry component: otel-collector-conf data: otel-collector-config: | receivers: otlp: {} processors: queued_retry: num_workers: 16 queue_size: 10000 retry_on_failure: true batch: send_batch_size: 1024 timeout: 5s extensions: health_check: {} exporters: jaeger: endpoint: "simplest-collector.default.svc.cluster.local:14250" # Replace with a real endpoint. service: extensions: [health_check] pipelines: traces/2: receivers: [otlp] processors: [] exporters: [jaeger] --- apiVersion: v1 kind: Service metadata: name: otel-collector labels: app: opencensus component: otel-collector spec: ports: - name: otlp # Default endpoint for Opencensus receiver. port: 55680 protocol: TCP targetPort: 55680 - name: metrics # Default endpoint for querying metrics. port: 8888 selector: component: otel-collector type: NodePort --- apiVersion: apps/v1 kind: Deployment metadata: name: otel-collector labels: app: opentelemetry component: otel-collector spec: selector: matchLabels: app: opentelemetry component: otel-collector minReadySeconds: 5 progressDeadlineSeconds: 120 replicas: 1 #TODO - adjust this to your own requirements template: metadata: annotations: prometheus.io/path: "/metrics" prometheus.io/port: "8888" prometheus.io/scrape: "true" labels: app: opentelemetry component: otel-collector spec: containers: - command: - "/otelcol" - "--config=/conf/otel-collector-config.yaml" # Memory Ballast size should be max 1/3 to 1/2 of memory. - "--mem-ballast-size-mib=683" env: - name: GOGC value: "80" image: otel/opentelemetry-collector-dev:latest name: otel-collector resources: limits: cpu: 1 memory: 2Gi requests: cpu: 200m memory: 400Mi ports: - containerPort: 55680 # Default endpoint for otlp receiver. - containerPort: 8888 # Default endpoint for querying metrics. volumeMounts: - name: otel-collector-config-vol mountPath: /conf # - name: otel-collector-secrets # mountPath: /secrets livenessProbe: httpGet: path: / port: 13133 # Health Check extension default port. readinessProbe: httpGet: path: / port: 13133 # Health Check extension default port. volumes: - configMap: name: otel-collector-conf items: - key: otel-collector-config path: otel-collector-config.yaml name: otel-collector-config-vol # - secret: # name: otel-collector-secrets # items: # - key: cert.pem # path: cert.pem # - key: key.pem # path: key.pem