浏览代码

Number of fixes for many parts of chart

Update probes
Update flink configuration
Add metrics for rocksdb
vkropotko 5 年之前
父节点
当前提交
8bf3e6c570

+ 9 - 1
templates/configmap.yaml

@@ -6,7 +6,7 @@ metadata:
 {{ include "flink.labels" . | indent 4 }}
 data:
   flink-conf.yaml: |+
-    jobmanager.rpc.address: flink-jobmanager
+    jobmanager.rpc.address: {{ include "flink.fullname" . }}-jobmanager
     taskmanager.numberOfTaskSlots: {{ .Values.taskmanager.numberOfTaskSlots }}
     blob.server.port: {{ .Values.jobmanager.ports.blob }}
     jobmanager.rpc.port: {{ .Values.jobmanager.ports.rpc }}
@@ -24,6 +24,13 @@ data:
       {{- if .Values.flink.monitoring.latency.enabled }}
     metrics.latency.interval: {{ .Values.flink.monitoring.latency.probingInterval }}
       {{- end }}
+      {{- if .Values.flink.monitoring.rocksdb.enabled }}
+    state.backend.rocksdb.metrics.cur-size-active-mem-table: true
+    state.backend.rocksdb.metrics.cur-size-all-mem-tables: true
+    state.backend.rocksdb.metrics.estimate-live-data-size: true
+    state.backend.rocksdb.metrics.size-all-mem-tables: true
+    state.backend.rocksdb.metrics.estimate-num-keys: true
+      {{- end }}
     {{- end }}
     {{- if .Values.flink.state.backend }}
     state.backend: {{ .Values.flink.state.backend }}
@@ -38,6 +45,7 @@ data:
     high-availability.zookeeper.path.root: /flink
     high-availability.cluster-id: /flink
     high-availability.storageDir: {{ .Values.jobmanager.highAvailability.storageDir }}
+    high-availability.jobmanager.port: {{ .Values.jobmanager.highAvailability.syncPort }}
     {{- end }}
   log4j.properties: |+
     log4j.rootLogger=INFO, file

+ 1 - 1
templates/jobmanager-headless-service.yaml

@@ -1,7 +1,7 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: flink-jobmanager-headless
+  name: {{ include "flink.fullname" . }}-jobmanager-headless
   labels:
 {{ include "flink.labels" . | indent 4 }}
     component: jobmanager

+ 6 - 0
templates/jobmanager-service.yaml

@@ -18,6 +18,12 @@ spec:
       protocol: TCP
       name: {{ $name }}
     {{- end }}
+    {{- if .Values.jobmanager.highAvailability.enabled }}
+    - port: {{ .Values.jobmanager.highAvailability.syncPort }}
+      targetPort: ha
+      protocol: TCP
+      name: ha
+    {{- end }}
   selector:
     app.kubernetes.io/name: {{ include "flink.name" . }}
     app.kubernetes.io/instance: {{ .Release.Name }}

+ 12 - 1
templates/jobmanager-statefulset.yaml

@@ -17,6 +17,7 @@ spec:
       app.kubernetes.io/name: {{ include "flink.name" . }}
       app.kubernetes.io/instance: {{ .Release.Name }}
       component: jobmanager
+  serviceName: {{ include "flink.fullname" . }}-jobmanager-headless
   template:
     metadata:
       labels:
@@ -54,9 +55,19 @@ spec:
             - containerPort: {{ .Values.flink.monitoring.port }}
               name: metrics
           {{- end }}
+          {{- if .Values.jobmanager.highAvailability.enabled }}
+            - containerPort: {{ .Values.jobmanager.highAvailability.syncPort }}
+              name: ha
+          {{- end }}
+          readinessProbe:
+            httpGet:
+              path: /
+              port: {{ .Values.jobmanager.ports.ui }}
+            periodSeconds: {{ .Values.jobmanager.readinessProbe.periodSeconds }}
+            initialDelaySeconds: {{ .Values.jobmanager.readinessProbe.initialDelaySeconds }}
           livenessProbe:
             tcpSocket:
-              port: {{ .Values.jobmanager.ports.rpc }}
+              port: {{ .Values.jobmanager.ports.blob }}
             initialDelaySeconds: {{ .Values.jobmanager.livenessProbe.initialDelaySeconds }}
             periodSeconds: {{ .Values.jobmanager.livenessProbe.periodSeconds }}
           volumeMounts:

+ 9 - 2
values.yaml

@@ -26,6 +26,8 @@ flink:
     system:
       enabled: true
       probingInterval: 5000
+    rocksdb:
+      enabled: false
   workDir: /opt/flink
   state:
     # backend for state. Available options: filesystem, rocksdb, memory; empty - for default(memory)
@@ -69,10 +71,12 @@ jobmanager:
     # storageDir for Jobmanagers. DFS expected.
     # Docs - Storage directory (required): JobManager metadata is persisted in the file system storageDir and only a pointer to this state is stored in ZooKeeper
     storageDir:
+    syncPort: 6150
   # extraEnvs passes envs to Jobmanagers
   extraEnvs: []
   ports:
     rpc: 6123
+    # blob port uses for Liveness probe
     blob: 6124
     ui: 8081
   replicaCount: 1
@@ -132,8 +136,11 @@ jobmanager:
     name:
   #livenessProbe will conduct checks for rpc port as tcpSocket probe
   livenessProbe:
-    initialDelaySeconds: 30
-    periodSeconds: 60
+    initialDelaySeconds: 10
+    periodSeconds: 15
+  readinessProbe:
+    periodSeconds: 10
+    initialDelaySeconds: 20
 
 taskmanager:
   # extraEnvs passes envs to Taskmanagers