_helpers.tpl 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. {{/* vim: set filetype=mustache: */}}
  2. {{/*
  3. Expand the name of the chart.
  4. */}}
  5. {{- define "flink.name" -}}
  6. {{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
  7. {{- end -}}
  8. {{/*
  9. Create a default fully qualified app name.
  10. We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
  11. If release name contains chart name it will be used as a full name.
  12. */}}
  13. {{- define "flink.fullname" -}}
  14. {{- if .Values.fullnameOverride -}}
  15. {{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
  16. {{- else -}}
  17. {{- $name := default .Chart.Name .Values.nameOverride -}}
  18. {{- if contains $name .Release.Name -}}
  19. {{- .Release.Name | trunc 63 | trimSuffix "-" -}}
  20. {{- else -}}
  21. {{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
  22. {{- end -}}
  23. {{- end -}}
  24. {{- end -}}
  25. {{/*
  26. Create chart name and version as used by the chart label.
  27. */}}
  28. {{- define "flink.chart" -}}
  29. {{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
  30. {{- end -}}
  31. {{/*
  32. Common labels
  33. */}}
  34. {{- define "flink.labels" -}}
  35. app.kubernetes.io/name: {{ include "flink.name" . }}
  36. helm.sh/chart: {{ include "flink.chart" . }}
  37. app.kubernetes.io/instance: {{ .Release.Name }}
  38. {{- if .Chart.AppVersion }}
  39. app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
  40. {{- end }}
  41. app.kubernetes.io/managed-by: {{ .Release.Service }}
  42. {{- end -}}
  43. {{/*
  44. Check if specific namespace is passed if false
  45. then .Release.Namespace will be used
  46. */}}
  47. {{- define "serviceMonitor.namespace" -}}
  48. {{- if .Values.prometheus.serviceMonitor.namespace -}}
  49. {{ .Values.prometheus.serviceMonitor.namespace }}
  50. {{- else -}}
  51. {{ .Release.Namespace }}
  52. {{- end -}}
  53. {{- end -}}
  54. {{/*
  55. ServiceAccount for Jobmanager
  56. */}}
  57. {{- define "jobmanager.serviceAccount" -}}
  58. {{ default "jobmanager" .Values.jobmanager.serviceAccount.name }}
  59. {{- end -}}
  60. {{/*
  61. ServiceAccount for Taskmanager
  62. */}}
  63. {{- define "taskmanager.serviceAccount" -}}
  64. {{ default "taskmanager" .Values.taskmanager.serviceAccount.name }}
  65. {{- end -}}
  66. {{/*
  67. Generate command for Jobmanager
  68. */}}
  69. {{- define "jobmanager.command" -}}
  70. {{ $cmd := .Values.jobmanager.command }}
  71. {{- if .Values.jobmanager.highAvailability.enabled }}
  72. {{ $cmd = (tpl .Values.jobmanager.highAvailability.command .) }}
  73. {{- end }}
  74. {{- if .Values.jobmanager.additionalCommand -}}
  75. {{ printf "%s && %s" .Values.jobmanager.additionalCommand $cmd }}
  76. {{- else }}
  77. {{ $cmd }}
  78. {{- end -}}
  79. {{- end -}}
  80. {{/*
  81. Generate command for Taskmanager
  82. */}}
  83. {{- define "taskmanager.command" -}}
  84. {{ $cmd := .Values.taskmanager.command }}
  85. {{- if .Values.taskmanager.additionalCommand -}}
  86. {{ printf "%s && %s" .Values.taskmanager.additionalCommand $cmd }}
  87. {{- else }}
  88. {{ $cmd }}
  89. {{- end -}}
  90. {{- end -}}
  91. {{/*
  92. Generate Flink Configuration.
  93. We do it here to support HA mode where we cannot
  94. provide jobmanager.rpc.address to Taskmanagers
  95. */}}
  96. {{- define "flink.configuration" -}}
  97. taskmanager.numberOfTaskSlots: {{ .Values.taskmanager.numberOfTaskSlots }}
  98. blob.server.port: {{ .Values.jobmanager.ports.blob }}
  99. taskmanager.rpc.port: {{ .Values.taskmanager.ports.rpc }}
  100. jobmanager.heap.size: {{ .Values.jobmanager.heapSize }}
  101. taskmanager.heap.size: {{ .Values.taskmanager.heapSize }}
  102. {{- if .Values.flink.monitoring.enabled }}
  103. metrics.reporters: prom
  104. metrics.reporter.prom.class: org.apache.flink.metrics.prometheus.PrometheusReporter
  105. metrics.reporter.prom.port: {{ .Values.flink.monitoring.port }}
  106. {{- if .Values.flink.monitoring.system.enabled }}
  107. metrics.system-resource: true
  108. metrics.system-resource-probing-interval: {{ .Values.flink.monitoring.system.probingInterval }}
  109. {{- end }}
  110. {{- if .Values.flink.monitoring.latency.enabled }}
  111. metrics.latency.interval: {{ .Values.flink.monitoring.latency.probingInterval }}
  112. {{- end }}
  113. {{- if .Values.flink.monitoring.rocksdb.enabled }}
  114. state.backend.rocksdb.metrics.cur-size-active-mem-table: true
  115. state.backend.rocksdb.metrics.cur-size-all-mem-tables: true
  116. state.backend.rocksdb.metrics.estimate-live-data-size: true
  117. state.backend.rocksdb.metrics.size-all-mem-tables: true
  118. state.backend.rocksdb.metrics.estimate-num-keys: true
  119. {{- end }}
  120. {{- end }}
  121. {{- if .Values.flink.state.backend }}
  122. state.backend: {{ .Values.flink.state.backend }}
  123. {{- .Values.flink.state.params | nindent 4 }}
  124. {{- if eq .Values.flink.state.backend "rocksdb" }}
  125. {{- .Values.flink.state.rocksdb | nindent 4 }}
  126. {{- end }}
  127. {{- end }}
  128. {{- if .Values.jobmanager.highAvailability.enabled }}
  129. high-availability: zookeeper
  130. high-availability.zookeeper.quorum: {{ .Values.jobmanager.highAvailability.zookeeperConnect }}
  131. high-availability.zookeeper.path.root: /flink
  132. high-availability.cluster-id: /flink
  133. high-availability.storageDir: {{ .Values.jobmanager.highAvailability.storageDir }}
  134. high-availability.jobmanager.port: {{ .Values.jobmanager.highAvailability.syncPort }}
  135. {{- else }}
  136. jobmanager.rpc.address: {{ include "flink.fullname" . }}-jobmanager
  137. jobmanager.rpc.port: {{ .Values.jobmanager.ports.rpc }}
  138. {{- end }}
  139. {{- end -}}