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