From df0d37bcb9bb3a797e3708e01fdd772ad64d43cf Mon Sep 17 00:00:00 2001 From: Vladimir Krivosheev Date: Thu, 13 Jul 2023 20:28:25 +0200 Subject: [PATCH] jaeger-dev deployment GitOrigin-RevId: 13702feca52c94af67d3534623c5422460e8b32f --- .../telemetry/jaeger-deploy/Dockerfile | 12 +++ .../telemetry/jaeger-deploy/build.sh | 2 + .../telemetry/jaeger-deploy/pod.yaml | 89 +++++++++++++++++++ .../jaeger-deploy/storage-config.yaml | 68 ++++++++++++++ 4 files changed, 171 insertions(+) create mode 100644 platform/diagnostic/telemetry/jaeger-deploy/Dockerfile create mode 100644 platform/diagnostic/telemetry/jaeger-deploy/build.sh create mode 100644 platform/diagnostic/telemetry/jaeger-deploy/pod.yaml create mode 100644 platform/diagnostic/telemetry/jaeger-deploy/storage-config.yaml diff --git a/platform/diagnostic/telemetry/jaeger-deploy/Dockerfile b/platform/diagnostic/telemetry/jaeger-deploy/Dockerfile new file mode 100644 index 000000000000..6f6400d053da --- /dev/null +++ b/platform/diagnostic/telemetry/jaeger-deploy/Dockerfile @@ -0,0 +1,12 @@ +FROM buildpack-deps:curl AS builder + +RUN cd /tmp && curl -L https://github.com/flitnetics/jaeger-objectstorage/releases/download/v2.0.1/jaeger-objectstorage_2.0.1_linux_x86_64.tar.gz | tar xvz + +FROM jaegertracing/all-in-one@sha256:f500e6faa18bbb291ea56405cc2db17b2f1bc094773f161741332b40284d2590 + +COPY --from=builder /tmp/jaeger-objectstorage /usr/bin/jaeger-objectstorage +COPY ./storage-config.yaml /etc/storage-config.yaml + +ENV GRPC_STORAGE_PLUGIN_BINARY=/usr/bin/jaeger-objectstorage +ENV GRPC_STORAGE_PLUGIN_CONFIGURATION_FILE=/etc/storage-config.yaml +ENV SPAN_STORAGE_TYPE=grpc-plugin diff --git a/platform/diagnostic/telemetry/jaeger-deploy/build.sh b/platform/diagnostic/telemetry/jaeger-deploy/build.sh new file mode 100644 index 000000000000..083570fa70a3 --- /dev/null +++ b/platform/diagnostic/telemetry/jaeger-deploy/build.sh @@ -0,0 +1,2 @@ +# Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. +nerdctl build -t ij-perf-report-aggregator/jaeger-dev . \ No newline at end of file diff --git a/platform/diagnostic/telemetry/jaeger-deploy/pod.yaml b/platform/diagnostic/telemetry/jaeger-deploy/pod.yaml new file mode 100644 index 000000000000..013f8747dd19 --- /dev/null +++ b/platform/diagnostic/telemetry/jaeger-deploy/pod.yaml @@ -0,0 +1,89 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: jaeger-dev + labels: + app: jaeger-dev +spec: + selector: + matchLabels: + app: jaeger-dev + template: + metadata: + labels: + app: jaeger-dev + spec: + securityContext: + runAsUser: 65533 + runAsGroup: 65534 + fsGroup: 65532 + volumes: + - name: jaeger-dev-data + emptyDir: { } + containers: + - name: jaeger-dev + image: jaegertracing/all-in-one:latest + ports: + - containerPort: 16686 + protocol: TCP + volumeMounts: + - name: jaeger-dev-data + mountPath: /badger + env: + - name: SPAN_STORAGE_TYPE + value: badger + - name: BADGER_EPHEMERAL + value: 'false' + - name: COLLECTOR_OTLP_ENABLED + value: 'true' + - name: BADGER_DIRECTORY_VALUE + value: '/badger/data' + - name: BADGER_DIRECTORY_KEY + value: '/badger/key' + resources: + limits: + cpu: 200m + ephemeral-storage: 1Gi + memory: 1Gi + requests: + cpu: 50m + ephemeral-storage: 100Mi + memory: 150Mi +--- +apiVersion: v1 +kind: Service +metadata: + name: jaeger-dev + labels: + app: jaeger-dev +spec: + ports: + - name: http + port: 16686 + protocol: TCP + selector: + app: jaeger-dev +--- +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: jaeger-dev + annotations: + cert-manager.io/cluster-issuer: letsencrypt-labs-jb-gg-dns +spec: + ingressClassName: internal-nginx + tls: + - secretName: jaeger-dev-labs-jb-gg-tls + hosts: + - jaeger-dev.labs.jb.gg + rules: + - host: jaeger-dev.labs.jb.gg + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: jaeger-dev + port: + number: 16686 \ No newline at end of file diff --git a/platform/diagnostic/telemetry/jaeger-deploy/storage-config.yaml b/platform/diagnostic/telemetry/jaeger-deploy/storage-config.yaml new file mode 100644 index 000000000000..fb59b2bccceb --- /dev/null +++ b/platform/diagnostic/telemetry/jaeger-deploy/storage-config.yaml @@ -0,0 +1,68 @@ +schema_config: + configs: + - from: 2018-10-24 + store: boltdb-shipper + object_store: s3 + schema: v11 + index: + prefix: index_ + period: 24h + row_shards: 32 + +storage_config: + aws: + bucketnames: S3_BUCKET + region: S3_REGION + access_key_id: S3_ACCESS_KEY + secret_access_key: S3_SECRET_KEY + endpoint: S3_ENDPOINT + http_config: + idle_conn_timeout: 90s + response_header_timeout: 0s + boltdb_shipper: + active_index_directory: /tmp/loki/boltdb-shipper-active + cache_location: /tmp/loki/boltdb-shipper-cache + cache_ttl: 24h + shared_store: s3 + filesystem: + directory: /tmp/loki/chunks + +compactor: + working_directory: /tmp/loki/boltdb-shipper-compactor + shared_store: s3 + compaction_interval: 10m + retention_enabled: true + retention_delete_delay: 2h + retention_delete_worker_count: 150 + +table_manager: + retention_deletes_enabled: true + # 28 days + retention_period: 672h + +limits_config: + enforce_metric_name: false + reject_old_samples: true + reject_old_samples_max_age: 168h + +memberlist: + abort_if_cluster_join_fails: false + + max_join_backoff: 1m + max_join_retries: 10 + min_join_backoff: 1s + +distributor: + ring: + kvstore: + store: memberlist + +ingester: + lifecycler: + ring: + kvstore: + store: memberlist + replication_factor: 1 + final_sleep: 0s + chunk_idle_period: 5m + chunk_retain_period: 30s \ No newline at end of file