istio.io/istio@v0.0.0-20240520182934-d79c90f27776/samples/open-telemetry/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        opencensus:
    11          endpoint: 0.0.0.0:55678
    12        otlp:
    13          protocols:
    14            grpc:
    15            http:
    16      processors:
    17        batch:
    18      exporters:
    19        zipkin:
    20          # Export to zipkin for easy querying
    21          endpoint: http://zipkin.istio-system.svc:9411/api/v2/spans
    22        logging:
    23          loglevel: debug
    24        jaeger:
    25          endpoint: jaeger-collector.istio-system.svc.cluster.local:14250
    26          tls:
    27            insecure: true
    28          sending_queue:
    29            enabled: true
    30          retry_on_failure:
    31            enabled: true
    32      extensions:
    33        health_check:
    34          port: 13133
    35      service:
    36        extensions:
    37        - health_check
    38        pipelines:
    39          logs:
    40            receivers: [otlp]
    41            processors: [batch]
    42            exporters: [logging]
    43          traces:
    44            receivers:
    45            - otlp
    46            - opencensus
    47            exporters:
    48            - zipkin
    49            - logging
    50            - jaeger
    51  ---
    52  apiVersion: v1
    53  kind: Service
    54  metadata:
    55    name: opentelemetry-collector
    56    labels:
    57      app: opentelemetry-collector
    58  spec:
    59    ports:
    60      - name: grpc-opencensus
    61        port: 55678
    62        protocol: TCP
    63        targetPort: 55678
    64      - name: grpc-otlp # Default endpoint for OpenTelemetry receiver.
    65        port: 4317
    66        protocol: TCP
    67        targetPort: 4317
    68      - name: http-otlp # HTTP endpoint for OpenTelemetry receiver.
    69        port: 4318
    70        protocol: TCP
    71        targetPort: 4318
    72    selector:
    73      app: opentelemetry-collector
    74  ---
    75  apiVersion: apps/v1
    76  kind: Deployment
    77  metadata:
    78    name: opentelemetry-collector
    79  spec:
    80    selector:
    81      matchLabels:
    82        app: opentelemetry-collector
    83    strategy:
    84      rollingUpdate:
    85        maxSurge: 1
    86        maxUnavailable: 1
    87      type: RollingUpdate
    88    template:
    89      metadata:
    90        labels:
    91          app: opentelemetry-collector
    92          sidecar.istio.io/inject: "false" # do not inject
    93      spec:
    94        containers:
    95          - command:
    96              - "/otelcol"
    97              - "--config=/conf/opentelemetry-collector-config.yaml"
    98            env:
    99              - name: POD_NAME
   100                valueFrom:
   101                  fieldRef:
   102                    apiVersion: v1
   103                    fieldPath: metadata.name
   104              - name: POD_NAMESPACE
   105                valueFrom:
   106                  fieldRef:
   107                    apiVersion: v1
   108                    fieldPath: metadata.namespace
   109            image: otel/opentelemetry-collector:0.54.0
   110            imagePullPolicy: IfNotPresent
   111            name: opentelemetry-collector
   112            ports:
   113              - containerPort: 4317
   114                protocol: TCP
   115              - containerPort: 4318
   116                protocol: TCP
   117              - name: grpc-opencensus
   118                containerPort: 55678
   119                protocol: TCP
   120            resources:
   121              limits:
   122                cpu: "2"
   123                memory: 4Gi
   124              requests:
   125                cpu: 200m
   126                memory: 400Mi
   127            terminationMessagePath: /dev/termination-log
   128            terminationMessagePolicy: File
   129            volumeMounts:
   130              - name: opentelemetry-collector-config-vol
   131                mountPath: /conf
   132        dnsPolicy: ClusterFirst
   133        restartPolicy: Always
   134        schedulerName: default-scheduler
   135        terminationGracePeriodSeconds: 30
   136        volumes:
   137          - configMap:
   138              defaultMode: 420
   139              items:
   140                - key: opentelemetry-collector-config
   141                  path: opentelemetry-collector-config.yaml
   142              name: opentelemetry-collector-conf
   143            name: opentelemetry-collector-config-vol