taskmanager-statefulset.yaml 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. apiVersion: apps/v1
  2. kind: StatefulSet
  3. metadata:
  4. name: {{ include "flink.fullname" . }}-taskmanager
  5. labels:
  6. {{ include "flink.labels" . | indent 4 }}
  7. component: taskmanager
  8. annotations:
  9. {{- range $key, $value := .Values.taskmanager.annotations }}
  10. {{ $key | quote }}: {{ $value | quote }}
  11. {{- end }}
  12. spec:
  13. replicas: {{ .Values.taskmanager.replicaCount }}
  14. podManagementPolicy: {{ .Values.taskmanager.podManagementPolicy }}
  15. selector:
  16. matchLabels:
  17. app.kubernetes.io/name: {{ include "flink.name" . }}
  18. app.kubernetes.io/instance: {{ .Release.Name }}
  19. component: taskmanager
  20. template:
  21. metadata:
  22. labels:
  23. app.kubernetes.io/name: {{ include "flink.name" . }}
  24. app.kubernetes.io/instance: {{ .Release.Name }}
  25. component: taskmanager
  26. spec:
  27. {{- with .Values.imagePullSecrets }}
  28. imagePullSecrets:
  29. {{- toYaml . | nindent 8 }}
  30. {{- end }}
  31. serviceAccount: {{ include "taskmanager.serviceAccount" . }}
  32. containers:
  33. - name: taskmanager
  34. image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
  35. imagePullPolicy: {{ .Values.image.pullPolicy }}
  36. workingDir: {{ .Values.flink.workDir }}
  37. command:
  38. - "/bin/bash"
  39. - "-c"
  40. - {{ include "taskmanager.command" . | quote }}
  41. env:
  42. - name: JVM_ARGS
  43. value: {{ tpl .Values.taskmanager.jvmArgs . | quote }}
  44. {{- if .Values.extraEnvs }}
  45. {{- toYaml .Values.extraEnvs | nindent 12 }}
  46. {{- end }}
  47. {{- if .Values.jobmanager.extraEnvs }}
  48. {{- toYaml .Values.taskmanager.extraEnvs | nindent 12 }}
  49. {{- end }}
  50. ports:
  51. {{- range $name, $port := .Values.taskmanager.ports }}
  52. - containerPort: {{ $port }}
  53. name: {{ $name }}
  54. {{- end }}
  55. {{- if .Values.flink.monitoring.enabled }}
  56. - containerPort: {{ .Values.flink.monitoring.port }}
  57. name: metrics
  58. {{- end }}
  59. livenessProbe:
  60. tcpSocket:
  61. port: {{ .Values.taskmanager.ports.rpc }}
  62. initialDelaySeconds: {{ .Values.taskmanager.livenessProbe.initialDelaySeconds }}
  63. periodSeconds: {{ .Values.taskmanager.livenessProbe.periodSeconds }}
  64. volumeMounts:
  65. - name: flink-config-volume
  66. mountPath: {{ .Values.flink.workDir }}/conf
  67. {{- if .Values.taskmanager.persistent.enabled }}
  68. - name: taskmanager-data
  69. mountPath: {{ .Values.taskmanager.persistent.mountPath }}
  70. {{- end }}
  71. resources:
  72. {{- toYaml .Values.taskmanager.resources | nindent 12 }}
  73. volumes:
  74. - name: flink-config-volume
  75. configMap:
  76. name: {{ include "flink.fullname" . }}-config
  77. items:
  78. - key: flink-conf-taskmanager.yaml
  79. path: flink-conf.yaml
  80. - key: log4j.properties
  81. path: log4j.properties
  82. - key: security.properties
  83. path: security.properties
  84. {{- if .Values.jobmanager.highAvailability.enabled }}
  85. - key: masters
  86. path: masters
  87. {{- end }}
  88. {{- with .Values.taskmanager.nodeSelector }}
  89. nodeSelector:
  90. {{- toYaml . | nindent 8 }}
  91. {{- end }}
  92. {{- with .Values.taskmanager.affinity }}
  93. affinity:
  94. {{- toYaml . | nindent 8 }}
  95. {{- end }}
  96. {{- with .Values.taskmanager.tolerations }}
  97. tolerations:
  98. {{- toYaml . | nindent 8 }}
  99. {{- end }}
  100. {{- if .Values.taskmanager.persistent.enabled }}
  101. volumeClaimTemplates:
  102. - metadata:
  103. name: taskmanager-data
  104. annotations:
  105. volume.alpha.kubernetes.io/storage-class: {{ .Values.taskmanager.persistent.storageClass }}
  106. labels:
  107. {{ include "flink.labels" . | indent 10 }}
  108. spec:
  109. accessModes:
  110. - ReadWriteOnce
  111. resources:
  112. requests:
  113. storage: {{ .Values.taskmanager.persistent.size }}
  114. {{- end }}