From 13d1f2ae242cfc445d0c96e9ac4c3b8c8bbe27fd Mon Sep 17 00:00:00 2001 From: Sylvain Desbureaux Date: Mon, 6 Dec 2021 11:33:11 +0100 Subject: [DMAAP][MR] Use startup probes Instead of using long intial delay for readiness and liveness probes, use startup Probes with aggressive checks in order to detect start as fast as possible AND handles slow start cases. Issue-ID: OOM-1 Signed-off-by: Sylvain Desbureaux Change-Id: Icb19ef62a4a8c52ac8800aa1dd4b71e350a6eeca (cherry picked from commit 8fade99d8fefc0c8d09a6e3df74fe68c70a07458) --- .../components/message-router/templates/statefulset.yaml | 14 +++++++++++++- kubernetes/dmaap/components/message-router/values.yaml | 16 ++++++++++++++-- kubernetes/onap/resources/overrides/environment.yaml | 9 ++------- 3 files changed, 29 insertions(+), 10 deletions(-) diff --git a/kubernetes/dmaap/components/message-router/templates/statefulset.yaml b/kubernetes/dmaap/components/message-router/templates/statefulset.yaml index 9bad341792..f0832add80 100644 --- a/kubernetes/dmaap/components/message-router/templates/statefulset.yaml +++ b/kubernetes/dmaap/components/message-router/templates/statefulset.yaml @@ -103,13 +103,25 @@ spec: initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }} periodSeconds: {{ .Values.liveness.periodSeconds }} timeoutSeconds: {{ .Values.liveness.timeoutSeconds }} - {{ end -}} + successThreshold: {{ .Values.liveness.successThreshold }} + failureThreshold: {{ .Values.liveness.failureThreshold }} + {{ end }} readinessProbe: tcpSocket: port: {{ .Values.readiness.port }} initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }} periodSeconds: {{ .Values.readiness.periodSeconds }} timeoutSeconds: {{ .Values.readiness.timeoutSeconds }} + successThreshold: {{ .Values.readiness.successThreshold }} + failureThreshold: {{ .Values.readiness.failureThreshold }} + startupProbe: + tcpSocket: + port: {{ .Values.startup.port }} + initialDelaySeconds: {{ .Values.startup.initialDelaySeconds }} + periodSeconds: {{ .Values.startup.periodSeconds }} + timeoutSeconds: {{ .Values.startup.timeoutSeconds }} + successThreshold: {{ .Values.startup.successThreshold }} + failureThreshold: {{ .Values.startup.failureThreshold }} env: - name: enableCadi value: "{{ .Values.global.aafEnabled }}" diff --git a/kubernetes/dmaap/components/message-router/values.yaml b/kubernetes/dmaap/components/message-router/values.yaml index 44697d7c92..7aa31769f4 100644 --- a/kubernetes/dmaap/components/message-router/values.yaml +++ b/kubernetes/dmaap/components/message-router/values.yaml @@ -85,18 +85,30 @@ affinity: {} # probe configuration parameters liveness: - initialDelaySeconds: 70 + initialDelaySeconds: 10 periodSeconds: 10 timeoutSeconds: 1 + successThreshold: 1 + failureThreshold: 3 # necessary to disable liveness probe when setting breakpoints # in debugger so K8s doesn't restart unresponsive container port: api enabled: true readiness: - initialDelaySeconds: 70 + initialDelaySeconds: 10 periodSeconds: 10 timeoutSeconds: 1 + successThreshold: 1 + failureThreshold: 3 + port: api + +startup: + initialDelaySeconds: 10 + periodSeconds: 10 + timeoutSeconds: 1 + successThreshold: 1 + failureThreshold: 70 port: api service: diff --git a/kubernetes/onap/resources/overrides/environment.yaml b/kubernetes/onap/resources/overrides/environment.yaml index 278a2da156..50703fbf4a 100644 --- a/kubernetes/onap/resources/overrides/environment.yaml +++ b/kubernetes/onap/resources/overrides/environment.yaml @@ -82,10 +82,10 @@ appc: periodSeconds: 60 cassandra: liveness: - initialDelaySeconds: 120 + timeoutSeconds: 30 periodSeconds: 120 readiness: - initialDelaySeconds: 120 + timeoutSeconds: 30 periodSeconds: 60 clamp: liveness: @@ -120,11 +120,6 @@ dmaap: initialDelaySeconds: 120 readiness: initialDelaySeconds: 120 - message-router: - liveness: - initialDelaySeconds: 120 - readiness: - initialDelaySeconds: 120 dmaap-dr-prov: liveness: initialDelaySeconds: 120 -- cgit 1.2.3-korg