0

我在 K8s 集群中安装了 Jaeger 运算符,当我使用 annotation 时,它非常适用于 Deployment "sidecar.jaegertracing.io/inject": "true",如下所示:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: {{ include "helm-3-chart-template.fullname" . }}
  labels:
    {{- include "helm-3-chart-template.labels" . | nindent 4 }}
  annotations:
    "sidecar.jaegertracing.io/inject": "true"
spec:
  # (...)

但是,我有一些 cronjobs 具有将 HTTPx 请求导出到 Jaeger 的工具,我尝试添加 jaeger sidecar 但从未启动。

我的配置是:

{{- if .Values.cronjobs.enabled -}}
  {{- range $job, $val := .Values.cronjobs.jobs }}
{{- if semverCompare ">=1.21-0" $.Capabilities.KubeVersion.GitVersion }}
apiVersion: batch/v1
{{- else }}
apiVersion: batch/v1beta1
{{- end }}
kind: CronJob
metadata:
  name: "{{ $.Values.fullnameOverride }}-{{ $job }}"
spec:
  schedule: {{ $val.schedule | quote }}  # Validate here: https://crontab.guru/

  concurrencyPolicy: {{ $val.concurrencyPolicy | quote | default "Allow" }}

  jobTemplate:
    spec:
      template:
        metadata:
          annotations:
            "sidecar.jaegertracing.io/inject": {{ $val.injectJaegertracingSidecar | quote | default "true" }}
        spec:
          {{- with $.Values.imagePullSecrets }}
          imagePullSecrets:
            {{- toYaml . | nindent 12 }}
          {{- end }}
          containers:
          - name: "{{ $.Values.fullnameOverride }}-{{ $job }}"
            image: "{{ $.Values.image.repository }}:{{ $.Values.image.tag | default $.Chart.AppVersion }}"
            imagePullPolicy: {{ $.Values.image.pullPolicy }}
            command: ["{{ $val.command }}"]
            args:
            {{- range $val.args }}
              - {{ . }}
            {{- end }}
            resources:
              {{- toYaml $.Values.resources | nindent 14 }}

          restartPolicy: {{ $val.restartPolicy | quote | default "OnFailure" }}

      backoffLimit: {{ $val.backoffLimit | default 6 }}
      ttlSecondsAfterFinished: {{ $val.ttlSecondsAfterFinished | default 60 }}
---
  {{- end }}
{{- end }}

我的 Helm 价值观是:


cronjobs:
  enabled: true

  jobs:

    a:
      # Runs at every 5th minute.
      schedule: "*/5 * * * *"
      concurrencyPolicy: Forbid
      restartPolicy: OnFailure
      command: "python"
      args:
        - -OO
        - app.py
      injectJaegertracingSidecar: "true"
4

0 回答 0