github.com/pingcap/tiflow@v0.0.0-20240520035814-5bf52d54e205/deployments/engine/helm/tiflow/templates/executor.yaml (about)

     1  apiVersion: v1
     2  kind: Service
     3  metadata:
     4    name: {{ include "tiflow.name" . }}-executor
     5    labels:
     6      app: {{ include "tiflow.name" . }}-executor
     7      app.kubernetes.io/name: {{ include "tiflow.name" . }}-executor
     8      app.kubernetes.io/instance: {{ include "tiflow.name" . }}
     9      app.kubernetes.io/managed-by: {{ .Release.Service }}
    10      app.kubernetes.io/component: executor
    11      app.kubernetes.io/part-of: tiflow
    12      helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+"  "_" }}
    13  spec:
    14    ports:
    15      - name: {{ include "tiflow.name" . }}-executor
    16        port: 10241
    17        targetPort: 10241
    18    selector:
    19      app: {{ include "tiflow.name" . }}-executor
    20  ---
    21  apiVersion: apps/v1
    22  kind: StatefulSet
    23  metadata:
    24    name: {{ include "tiflow.name" . }}-executor
    25    labels:
    26      app: {{ include "tiflow.name" . }}-executor
    27      app.kubernetes.io/name: {{ include "tiflow.name" . }}-executor
    28      app.kubernetes.io/instance: {{ include "tiflow.name" . }}
    29      app.kubernetes.io/managed-by: {{ .Release.Service }}
    30      app.kubernetes.io/component: executor
    31      app.kubernetes.io/part-of: tiflow
    32      helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+"  "_" }}
    33  spec:
    34    selector:
    35      matchLabels:
    36        app: {{ include "tiflow.name" . }}-executor
    37    serviceName: {{ include "tiflow.name" . }}-executor
    38    replicas: {{ .Values.executor.replicas }}
    39    podManagementPolicy: Parallel
    40    template:
    41      metadata:
    42        labels:
    43          app: {{ include "tiflow.name" . }}-executor
    44      spec:
    45        initContainers:
    46          - name: wait-server-master
    47            image: busybox:1.34.0
    48            command: ['sh', '-c', 'until nslookup {{ include "tiflow.name" . }}-server-master; do echo waiting for server master; sleep 2; done;']
    49  {{- if .Values.imagePullSecrets }}
    50        imagePullSecrets:
    51  {{ toYaml .Values.imagePullSecrets | indent 6 }}
    52  {{- end }}
    53        containers:
    54          - name: executor
    55            image: {{ .Values.image.repository }}:{{ .Values.image.tag }}
    56            imagePullPolicy: {{ .Values.image.pullPolicy | default "IfNotPresent" }}
    57            volumeMounts:
    58              - mountPath: /log
    59                name: log
    60              - mountPath: /config
    61                name: config
    62            env:
    63              - name: MY_POD_NAME
    64                valueFrom:
    65                  fieldRef:
    66                    fieldPath: metadata.name
    67              - name: MY_POD_NAMESPACE
    68                valueFrom:
    69                  fieldRef:
    70                    fieldPath: metadata.namespace
    71              - name: MY_SERVICE_NAME
    72                value: {{ include "tiflow.name" . }}-executor
    73            resources:
    74  {{ toYaml .Values.executor.resources | indent 12 }}
    75            ports:
    76              - containerPort: 10241
    77                name: executor
    78            command:
    79              - "/tiflow"
    80              - "executor"
    81              - "--name=$(MY_POD_NAME)"
    82              - "--addr=0.0.0.0:10241"
    83              - "--advertise-addr=$(MY_POD_NAME).$(MY_SERVICE_NAME).$(MY_POD_NAMESPACE):10241"
    84              - "--join={{ include "tiflow.name" . }}-server-master:10240"
    85              - "--config=/config/executor.toml"
    86              - "--log-file=/log/$(MY_POD_NAME).log"
    87        volumes:
    88            - name: config
    89              configMap:
    90                name: {{ include "tiflow.name" . }}-configmap
    91                items:
    92                - key: executor
    93                  path: executor.toml
    94    volumeClaimTemplates:
    95      - metadata:
    96          name: log
    97        spec:
    98          accessModes:
    99            - ReadWriteOnce
   100          resources:
   101            requests:
   102              storage: {{ .Values.executor.logStorage }}