[unifi] Add liveness and readiness probe configuration (#149)

* Parameterize timing of livenessProbe

* Parameterize timing of readinessProbe

* Bump version, no change in default behaviour

* Update README.md with new configuration parameters

Signed-off-by: Thomas Ingvarsson <ingvarsson.thomas@gmail.com>

Co-authored-by: Jeff Billimek <jeff@billimek.com>
This commit is contained in:
Thomas Ingvarsson 2020-11-14 21:02:13 +01:00 committed by GitHub
parent b91e6c69d7
commit bf1772a44e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 45 additions and 3 deletions

View File

@ -2,7 +2,7 @@ apiVersion: v2
appVersion: 5.14.23 appVersion: 5.14.23
description: Ubiquiti Network's Unifi Controller description: Ubiquiti Network's Unifi Controller
name: unifi name: unifi
version: 1.1.1 version: 1.2.0
keywords: keywords:
- ubiquiti - ubiquiti
- unifi - unifi

View File

@ -142,6 +142,18 @@ The following tables lists the configurable parameters of the Unifi chart and th
| `extraConfigFiles` | `{}` | Dictionary containing files mounted to `/configmap` inside the pod (See [values.yaml](values.yaml) for examples) | | `extraConfigFiles` | `{}` | Dictionary containing files mounted to `/configmap` inside the pod (See [values.yaml](values.yaml) for examples) |
| `extraJvmOpts` | `[]` | List of additional JVM options, e.g. `["-Dlog4j.configurationFile=file:/configmap/log4j2.xml"]` | | `extraJvmOpts` | `[]` | List of additional JVM options, e.g. `["-Dlog4j.configurationFile=file:/configmap/log4j2.xml"]` |
| `resources` | `{}` | CPU/Memory resource requests/limits | | `resources` | `{}` | CPU/Memory resource requests/limits |
| `livenessProbe.enabled` | `true` | Turn on and off liveness probe |
| `livenessProbe.initialDelaySeconds` | `30` | Delay before liveness probe is initiated |
| `livenessProbe.periodSeconds` | `15` | How often to perform the probe |
| `livenessProbe.timeoutSeconds` | `5` | When the probe times out |
| `livenessProbe.failureThreshold` | `3` | Minimum consecutive failures for the probe |
| `livenessProbe.successThreshold` | `1` | Minimum consecutive successes for the probe |
| `readinessProbe.enabled` | `true` | Turn on and off readiness probe |
| `readinessProbe.initialDelaySeconds` | `30` | Delay before readiness probe is initiated |
| `readinessProbe.periodSeconds` | `15` | How often to perform the probe |
| `readinessProbe.timeoutSeconds` | `5` | When the probe times out |
| `readinessProbe.failureThreshold` | `3` | Minimum consecutive failures for the probe |
| `readinessProbe.successThreshold` | `1` | Minimum consecutive successes for the probe |
| `nodeSelector` | `{}` | Node labels for pod assignment | | `nodeSelector` | `{}` | Node labels for pod assignment |
| `tolerations` | `[]` | Toleration labels for pod assignment | | `tolerations` | `[]` | Toleration labels for pod assignment |
| `affinity` | `{}` | Affinity settings for pod assignment | | `affinity` | `{}` | Affinity settings for pod assignment |

View File

@ -85,18 +85,30 @@ spec:
add: add:
- SETFCAP - SETFCAP
{{- end }} {{- end }}
{{- if .Values.livenessProbe.enabled }}
livenessProbe: livenessProbe:
httpGet: httpGet:
path: /status path: /status
port: https-gui port: https-gui
scheme: HTTPS scheme: HTTPS
initialDelaySeconds: 30 initialDelaySeconds: {{ .Values.livenessProbe.initialDelaySeconds }}
periodSeconds: {{ .Values.livenessProbe.periodSeconds }}
timeoutSeconds: {{ .Values.livenessProbe.timeoutSeconds }}
successThreshold: {{ .Values.livenessProbe.successThreshold }}
failureThreshold: {{ .Values.livenessProbe.failureThreshold }}
{{- end }}
{{- if .Values.readinessProbe.enabled }}
readinessProbe: readinessProbe:
httpGet: httpGet:
path: /status path: /status
port: https-gui port: https-gui
scheme: HTTPS scheme: HTTPS
initialDelaySeconds: 15 initialDelaySeconds: {{ .Values.readinessProbe.initialDelaySeconds }}
periodSeconds: {{ .Values.readinessProbe.periodSeconds }}
timeoutSeconds: {{ .Values.readinessProbe.timeoutSeconds }}
successThreshold: {{ .Values.readinessProbe.successThreshold }}
failureThreshold: {{ .Values.readinessProbe.failureThreshold }}
{{- end }}
env: env:
- name: UNIFI_HTTP_PORT - name: UNIFI_HTTP_PORT
value: "{{ .Values.controllerService.port }}" value: "{{ .Values.controllerService.port }}"

View File

@ -341,6 +341,24 @@ resources: {}
# cpu: 100m # cpu: 100m
# memory: 128Mi # memory: 128Mi
## Liveness and readiness probe values
## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes
##
livenessProbe:
enabled: true
initialDelaySeconds: 30
periodSeconds: 10
timeoutSeconds: 1
failureThreshold: 3
successThreshold: 1
readinessProbe:
enabled: true
initialDelaySeconds: 15
periodSeconds: 10
timeoutSeconds: 1
failureThreshold: 3
successThreshold: 1
nodeSelector: {} nodeSelector: {}
tolerations: [] tolerations: []