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 }}