123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116 |
- apiVersion: apps/v1
- kind: StatefulSet
- metadata:
- name: {{ include "flink.fullname" . }}-taskmanager
- labels:
- {{ include "flink.labels" . | indent 4 }}
- component: taskmanager
- annotations:
- {{- range $key, $value := .Values.taskmanager.annotations }}
- {{ $key | quote }}: {{ $value | quote }}
- {{- end }}
- spec:
- replicas: {{ .Values.taskmanager.replicaCount }}
- podManagementPolicy: {{ .Values.taskmanager.podManagementPolicy }}
- selector:
- matchLabels:
- app.kubernetes.io/name: {{ include "flink.name" . }}
- app.kubernetes.io/instance: {{ .Release.Name }}
- component: taskmanager
- template:
- metadata:
- labels:
- app.kubernetes.io/name: {{ include "flink.name" . }}
- app.kubernetes.io/instance: {{ .Release.Name }}
- component: taskmanager
- spec:
- {{- with .Values.imagePullSecrets }}
- imagePullSecrets:
- {{- toYaml . | nindent 8 }}
- {{- end }}
- serviceAccount: {{ include "taskmanager.serviceAccount" . }}
- containers:
- - name: taskmanager
- image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
- imagePullPolicy: {{ .Values.image.pullPolicy }}
- workingDir: {{ .Values.flink.workDir }}
- command:
- - "/bin/bash"
- - "-c"
- - {{ include "taskmanager.command" . | quote }}
- env:
- - name: JVM_ARGS
- value: {{ tpl .Values.taskmanager.jvmArgs . | quote }}
- {{- if .Values.extraEnvs }}
- {{- toYaml .Values.extraEnvs | nindent 12 }}
- {{- end }}
- {{- if .Values.jobmanager.extraEnvs }}
- {{- toYaml .Values.taskmanager.extraEnvs | nindent 12 }}
- {{- end }}
- ports:
- {{- range $name, $port := .Values.taskmanager.ports }}
- - containerPort: {{ $port }}
- name: {{ $name }}
- {{- end }}
- {{- if .Values.flink.monitoring.enabled }}
- - containerPort: {{ .Values.flink.monitoring.port }}
- name: metrics
- {{- end }}
- livenessProbe:
- tcpSocket:
- port: {{ .Values.taskmanager.ports.rpc }}
- initialDelaySeconds: {{ .Values.taskmanager.livenessProbe.initialDelaySeconds }}
- periodSeconds: {{ .Values.taskmanager.livenessProbe.periodSeconds }}
- volumeMounts:
- - name: flink-config-volume
- mountPath: {{ .Values.flink.workDir }}/conf
- {{- if .Values.taskmanager.persistent.enabled }}
- - name: taskmanager-data
- mountPath: {{ .Values.taskmanager.persistent.mountPath }}
- {{- end }}
- resources:
- {{- toYaml .Values.taskmanager.resources | nindent 12 }}
- volumes:
- - name: flink-config-volume
- configMap:
- name: {{ include "flink.fullname" . }}-config
- items:
- - key: flink-conf-taskmanager.yaml
- path: flink-conf.yaml
- - key: log4j.properties
- path: log4j.properties
- - key: security.properties
- path: security.properties
- {{- if .Values.jobmanager.highAvailability.enabled }}
- - key: masters
- path: masters
- {{- end }}
- {{- with .Values.taskmanager.nodeSelector }}
- nodeSelector:
- {{- toYaml . | nindent 8 }}
- {{- end }}
- {{- with .Values.taskmanager.affinity }}
- affinity:
- {{- toYaml . | nindent 8 }}
- {{- end }}
- {{- with .Values.taskmanager.tolerations }}
- tolerations:
- {{- toYaml . | nindent 8 }}
- {{- end }}
- {{- if .Values.taskmanager.persistent.enabled }}
- volumeClaimTemplates:
- - metadata:
- name: taskmanager-data
- annotations:
- volume.alpha.kubernetes.io/storage-class: {{ .Values.taskmanager.persistent.storageClass }}
- labels:
- {{ include "flink.labels" . | indent 10 }}
- spec:
- accessModes:
- - ReadWriteOnce
- resources:
- requests:
- storage: {{ .Values.taskmanager.persistent.size }}
- {{- end }}
|