istio.io/istio@v0.0.0-20240520182934-d79c90f27776/samples/open-telemetry/loki/otel.yaml (about) 1 apiVersion: v1 2 kind: ConfigMap 3 metadata: 4 name: opentelemetry-collector-conf 5 labels: 6 app: opentelemetry-collector 7 data: 8 opentelemetry-collector-config: | 9 receivers: 10 otlp: 11 protocols: 12 grpc: 13 http: 14 processors: 15 batch: 16 attributes: 17 actions: 18 - action: insert 19 key: loki.attribute.labels 20 value: pod, namespace,cluster,mesh 21 exporters: 22 loki: 23 endpoint: "http://loki.istio-system.svc:3100/loki/api/v1/push" 24 logging: 25 loglevel: debug 26 extensions: 27 health_check: 28 service: 29 extensions: 30 - health_check 31 pipelines: 32 logs: 33 receivers: [otlp] 34 processors: [attributes] 35 exporters: [loki, logging] 36 --- 37 apiVersion: v1 38 kind: Service 39 metadata: 40 name: opentelemetry-collector 41 labels: 42 app: opentelemetry-collector 43 spec: 44 ports: 45 - name: grpc-opencensus 46 port: 55678 47 protocol: TCP 48 targetPort: 55678 49 - name: grpc-otlp # Default endpoint for OpenTelemetry receiver. 50 port: 4317 51 protocol: TCP 52 targetPort: 4317 53 selector: 54 app: opentelemetry-collector 55 --- 56 apiVersion: apps/v1 57 kind: Deployment 58 metadata: 59 name: opentelemetry-collector 60 spec: 61 selector: 62 matchLabels: 63 app: opentelemetry-collector 64 strategy: 65 rollingUpdate: 66 maxSurge: 1 67 maxUnavailable: 1 68 type: RollingUpdate 69 template: 70 metadata: 71 labels: 72 app: opentelemetry-collector 73 sidecar.istio.io/inject: "false" # do not inject 74 spec: 75 containers: 76 - command: 77 - "/otelcol-contrib" 78 - "--config=/conf/opentelemetry-collector-config.yaml" 79 env: 80 - name: POD_NAME 81 valueFrom: 82 fieldRef: 83 apiVersion: v1 84 fieldPath: metadata.name 85 - name: POD_NAMESPACE 86 valueFrom: 87 fieldRef: 88 apiVersion: v1 89 fieldPath: metadata.namespace 90 image: otel/opentelemetry-collector-contrib:0.73.0 91 imagePullPolicy: IfNotPresent 92 name: opentelemetry-collector 93 ports: 94 - containerPort: 4317 95 protocol: TCP 96 - name: grpc-opencensus 97 containerPort: 55678 98 protocol: TCP 99 resources: 100 limits: 101 cpu: "2" 102 memory: 4Gi 103 requests: 104 cpu: 200m 105 memory: 400Mi 106 terminationMessagePath: /dev/termination-log 107 terminationMessagePolicy: File 108 volumeMounts: 109 - name: opentelemetry-collector-config-vol 110 mountPath: /conf 111 dnsPolicy: ClusterFirst 112 restartPolicy: Always 113 schedulerName: default-scheduler 114 terminationGracePeriodSeconds: 30 115 volumes: 116 - configMap: 117 defaultMode: 420 118 items: 119 - key: opentelemetry-collector-config 120 path: opentelemetry-collector-config.yaml 121 name: opentelemetry-collector-conf 122 name: opentelemetry-collector-config-vol