Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions charts/gateway-helm/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,16 @@ helm uninstall eg -n envoy-gateway-system
| deployment.envoyGateway.image.tag | string | `""` | |
| deployment.envoyGateway.imagePullPolicy | string | `""` | |
| deployment.envoyGateway.imagePullSecrets | list | `[]` | |
| deployment.envoyGateway.livenessProbe.httpGet.path | string | `"/healthz"` | |
| deployment.envoyGateway.livenessProbe.httpGet.port | int | `8081` | |
| deployment.envoyGateway.livenessProbe.periodSeconds | int | `20` | |
| deployment.envoyGateway.livenessProbe.successThreshold | int | `1` | |
| deployment.envoyGateway.livenessProbe.timeoutSeconds | int | `1` | |
| deployment.envoyGateway.readinessProbe.httpGet.path | string | `"/readyz"` | |
| deployment.envoyGateway.readinessProbe.httpGet.port | int | `8081` | |
| deployment.envoyGateway.readinessProbe.periodSeconds | int | `10` | |
| deployment.envoyGateway.readinessProbe.successThreshold | int | `1` | |
| deployment.envoyGateway.readinessProbe.timeoutSeconds | int | `1` | |
| deployment.envoyGateway.resources.limits.memory | string | `"1024Mi"` | |
| deployment.envoyGateway.resources.requests.cpu | string | `"100m"` | |
| deployment.envoyGateway.resources.requests.memory | string | `"256Mi"` | |
Expand All @@ -112,6 +122,12 @@ helm uninstall eg -n envoy-gateway-system
| deployment.envoyGateway.securityContext.runAsNonRoot | bool | `true` | |
| deployment.envoyGateway.securityContext.runAsUser | int | `65532` | |
| deployment.envoyGateway.securityContext.seccompProfile.type | string | `"RuntimeDefault"` | |
| deployment.envoyGateway.startupProbe.failureThreshold | int | `30` | |
| deployment.envoyGateway.startupProbe.httpGet.path | string | `"/healthz"` | |
| deployment.envoyGateway.startupProbe.httpGet.port | int | `8081` | |
| deployment.envoyGateway.startupProbe.periodSeconds | int | `1` | |
| deployment.envoyGateway.startupProbe.successThreshold | int | `1` | |
| deployment.envoyGateway.startupProbe.timeoutSeconds | int | `1` | |
| deployment.envoyGateway.strategy | object | `{}` | Volume source for the Wasm module cache mounted at /var/lib/eg/wasm. Defaults to an emptyDir when left empty. Example: persist the Wasm module cache across controller restarts by backing it with a PersistentVolumeClaim: wasmCacheVolume: persistentVolumeClaim: claimName: envoy-gateway-wasm-cache |
| deployment.envoyGateway.wasmCacheVolume | object | `{}` | |
| deployment.pod.affinity | object | `{}` | |
Expand Down
14 changes: 4 additions & 10 deletions charts/gateway-helm/templates/envoy-gateway-deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -73,12 +73,10 @@ spec:
{{- end }}
image: {{ include "eg.image" . }}
imagePullPolicy: {{ include "eg.image.pullPolicy" . }}
startupProbe:
{{- toYaml .Values.deployment.envoyGateway.startupProbe | nindent 10 }}
livenessProbe:
httpGet:
path: /healthz
port: 8081
initialDelaySeconds: 15
periodSeconds: 20
{{- toYaml .Values.deployment.envoyGateway.livenessProbe | nindent 10 }}
name: envoy-gateway
ports:
{{- range .Values.deployment.ports }}
Expand All @@ -90,11 +88,7 @@ spec:
containerPort: 9443
{{- end }}
readinessProbe:
httpGet:
path: /readyz
port: 8081
initialDelaySeconds: 5
periodSeconds: 10
{{- toYaml .Values.deployment.envoyGateway.readinessProbe | nindent 10 }}
resources:
{{- toYaml .Values.deployment.envoyGateway.resources | nindent 10 }}
securityContext:
Expand Down
25 changes: 25 additions & 0 deletions charts/gateway-helm/values.tmpl.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,31 @@ deployment:
# claimName: envoy-gateway-wasm-cache
strategy: {}
wasmCacheVolume: {}
# Kubernetes best practice for controllers: use a startupProbe with a generous
# failure threshold to avoid premature liveness/readiness failures during initialization.
# Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#define-startup-probes
startupProbe:
Comment thread
cleman95 marked this conversation as resolved.
httpGet:
path: /healthz
port: 8081
failureThreshold: 30
periodSeconds: 1
successThreshold: 1
timeoutSeconds: 1
livenessProbe:
httpGet:
path: /healthz
port: 8081
periodSeconds: 20
successThreshold: 1
timeoutSeconds: 1
readinessProbe:
httpGet:
path: /readyz
port: 8081
periodSeconds: 10
successThreshold: 1
timeoutSeconds: 1
ports:
- name: grpc
port: 18000
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Added `startupProbe` to the envoy-gateway Deployment with configurable liveness and readiness probes via Helm values.
16 changes: 16 additions & 0 deletions site/content/en/latest/install/gateway-helm-api.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,16 @@ The Helm chart for Envoy Gateway
| deployment.envoyGateway.image.tag | string | `""` | |
| deployment.envoyGateway.imagePullPolicy | string | `""` | |
| deployment.envoyGateway.imagePullSecrets | list | `[]` | |
| deployment.envoyGateway.livenessProbe.httpGet.path | string | `"/healthz"` | |
| deployment.envoyGateway.livenessProbe.httpGet.port | int | `8081` | |
| deployment.envoyGateway.livenessProbe.periodSeconds | int | `20` | |
| deployment.envoyGateway.livenessProbe.successThreshold | int | `1` | |
| deployment.envoyGateway.livenessProbe.timeoutSeconds | int | `1` | |
| deployment.envoyGateway.readinessProbe.httpGet.path | string | `"/readyz"` | |
| deployment.envoyGateway.readinessProbe.httpGet.port | int | `8081` | |
| deployment.envoyGateway.readinessProbe.periodSeconds | int | `10` | |
| deployment.envoyGateway.readinessProbe.successThreshold | int | `1` | |
| deployment.envoyGateway.readinessProbe.timeoutSeconds | int | `1` | |
| deployment.envoyGateway.resources.limits.memory | string | `"1024Mi"` | |
| deployment.envoyGateway.resources.requests.cpu | string | `"100m"` | |
| deployment.envoyGateway.resources.requests.memory | string | `"256Mi"` | |
Expand All @@ -51,6 +61,12 @@ The Helm chart for Envoy Gateway
| deployment.envoyGateway.securityContext.runAsNonRoot | bool | `true` | |
| deployment.envoyGateway.securityContext.runAsUser | int | `65532` | |
| deployment.envoyGateway.securityContext.seccompProfile.type | string | `"RuntimeDefault"` | |
| deployment.envoyGateway.startupProbe.failureThreshold | int | `30` | |
| deployment.envoyGateway.startupProbe.httpGet.path | string | `"/healthz"` | |
| deployment.envoyGateway.startupProbe.httpGet.port | int | `8081` | |
| deployment.envoyGateway.startupProbe.periodSeconds | int | `1` | |
| deployment.envoyGateway.startupProbe.successThreshold | int | `1` | |
| deployment.envoyGateway.startupProbe.timeoutSeconds | int | `1` | |
| deployment.envoyGateway.strategy | object | `{}` | Volume source for the Wasm module cache mounted at /var/lib/eg/wasm. Defaults to an emptyDir when left empty. Example: persist the Wasm module cache across controller restarts by backing it with a PersistentVolumeClaim: wasmCacheVolume: persistentVolumeClaim: claimName: envoy-gateway-wasm-cache |
| deployment.envoyGateway.wasmCacheVolume | object | `{}` | |
| deployment.pod.affinity | object | `{}` | |
Expand Down
14 changes: 12 additions & 2 deletions test/helm/gateway-helm/certgen-annotations.out.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -465,12 +465,21 @@ spec:
value: cluster.local
image: docker.io/envoyproxy/gateway-dev:latest
imagePullPolicy: Always
startupProbe:
failureThreshold: 30
httpGet:
path: /healthz
port: 8081
periodSeconds: 1
successThreshold: 1
timeoutSeconds: 1
livenessProbe:
httpGet:
path: /healthz
port: 8081
initialDelaySeconds: 15
Comment thread
jukie marked this conversation as resolved.
periodSeconds: 20
successThreshold: 1
timeoutSeconds: 1
name: envoy-gateway
ports:
- containerPort: 18000
Expand All @@ -487,8 +496,9 @@ spec:
httpGet:
path: /readyz
port: 8081
initialDelaySeconds: 5
periodSeconds: 10
successThreshold: 1
timeoutSeconds: 1
resources:
limits:
memory: 1024Mi
Expand Down
14 changes: 12 additions & 2 deletions test/helm/gateway-helm/certgen-args.out.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -465,12 +465,21 @@ spec:
value: cluster.local
image: docker.io/envoyproxy/gateway-dev:latest
imagePullPolicy: Always
startupProbe:
failureThreshold: 30
httpGet:
path: /healthz
port: 8081
periodSeconds: 1
successThreshold: 1
timeoutSeconds: 1
livenessProbe:
httpGet:
path: /healthz
port: 8081
initialDelaySeconds: 15
periodSeconds: 20
successThreshold: 1
timeoutSeconds: 1
name: envoy-gateway
ports:
- containerPort: 18000
Expand All @@ -487,8 +496,9 @@ spec:
httpGet:
path: /readyz
port: 8081
initialDelaySeconds: 5
periodSeconds: 10
successThreshold: 1
timeoutSeconds: 1
resources:
limits:
memory: 1024Mi
Expand Down
14 changes: 12 additions & 2 deletions test/helm/gateway-helm/certgen-labels.out.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -465,12 +465,21 @@ spec:
value: cluster.local
image: docker.io/envoyproxy/gateway-dev:latest
imagePullPolicy: Always
startupProbe:
failureThreshold: 30
httpGet:
path: /healthz
port: 8081
periodSeconds: 1
successThreshold: 1
timeoutSeconds: 1
livenessProbe:
httpGet:
path: /healthz
port: 8081
initialDelaySeconds: 15
periodSeconds: 20
successThreshold: 1
timeoutSeconds: 1
name: envoy-gateway
ports:
- containerPort: 18000
Expand All @@ -487,8 +496,9 @@ spec:
httpGet:
path: /readyz
port: 8081
initialDelaySeconds: 5
periodSeconds: 10
successThreshold: 1
timeoutSeconds: 1
resources:
limits:
memory: 1024Mi
Expand Down
14 changes: 12 additions & 2 deletions test/helm/gateway-helm/certgen-pod-securitycontext.out.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -465,12 +465,21 @@ spec:
value: cluster.local
image: docker.io/envoyproxy/gateway-dev:latest
imagePullPolicy: Always
startupProbe:
failureThreshold: 30
httpGet:
path: /healthz
port: 8081
periodSeconds: 1
successThreshold: 1
timeoutSeconds: 1
livenessProbe:
httpGet:
path: /healthz
port: 8081
initialDelaySeconds: 15
periodSeconds: 20
successThreshold: 1
timeoutSeconds: 1
name: envoy-gateway
ports:
- containerPort: 18000
Expand All @@ -487,8 +496,9 @@ spec:
httpGet:
path: /readyz
port: 8081
initialDelaySeconds: 5
periodSeconds: 10
successThreshold: 1
timeoutSeconds: 1
resources:
limits:
memory: 1024Mi
Expand Down
14 changes: 12 additions & 2 deletions test/helm/gateway-helm/certjen-custom-scheduling.out.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -465,12 +465,21 @@ spec:
value: cluster.local
image: docker.io/envoyproxy/gateway-dev:latest
imagePullPolicy: Always
startupProbe:
failureThreshold: 30
httpGet:
path: /healthz
port: 8081
periodSeconds: 1
successThreshold: 1
timeoutSeconds: 1
livenessProbe:
httpGet:
path: /healthz
port: 8081
initialDelaySeconds: 15
periodSeconds: 20
successThreshold: 1
timeoutSeconds: 1
name: envoy-gateway
ports:
- containerPort: 18000
Expand All @@ -487,8 +496,9 @@ spec:
httpGet:
path: /readyz
port: 8081
initialDelaySeconds: 5
periodSeconds: 10
successThreshold: 1
timeoutSeconds: 1
resources:
limits:
memory: 1024Mi
Expand Down
14 changes: 12 additions & 2 deletions test/helm/gateway-helm/common-labels.out.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -505,12 +505,21 @@ spec:
value: cluster.local
image: docker.io/envoyproxy/gateway-dev:latest
imagePullPolicy: Always
startupProbe:
failureThreshold: 30
httpGet:
path: /healthz
port: 8081
periodSeconds: 1
successThreshold: 1
timeoutSeconds: 1
livenessProbe:
httpGet:
path: /healthz
port: 8081
initialDelaySeconds: 15
periodSeconds: 20
successThreshold: 1
timeoutSeconds: 1
name: envoy-gateway
ports:
- containerPort: 18000
Expand All @@ -527,8 +536,9 @@ spec:
httpGet:
path: /readyz
port: 8081
initialDelaySeconds: 5
periodSeconds: 10
successThreshold: 1
timeoutSeconds: 1
resources:
limits:
memory: 1024Mi
Expand Down
14 changes: 12 additions & 2 deletions test/helm/gateway-helm/control-plane-with-pdb.out.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -480,12 +480,21 @@ spec:
value: cluster.local
image: docker.io/envoyproxy/gateway-dev:latest
imagePullPolicy: Always
startupProbe:
failureThreshold: 30
httpGet:
path: /healthz
port: 8081
periodSeconds: 1
successThreshold: 1
timeoutSeconds: 1
livenessProbe:
httpGet:
path: /healthz
port: 8081
initialDelaySeconds: 15
periodSeconds: 20
successThreshold: 1
timeoutSeconds: 1
name: envoy-gateway
ports:
- containerPort: 18000
Expand All @@ -502,8 +511,9 @@ spec:
httpGet:
path: /readyz
port: 8081
initialDelaySeconds: 5
periodSeconds: 10
successThreshold: 1
timeoutSeconds: 1
resources:
limits:
memory: 1024Mi
Expand Down
14 changes: 12 additions & 2 deletions test/helm/gateway-helm/default-config.out.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -465,12 +465,21 @@ spec:
value: cluster.local
image: docker.io/envoyproxy/gateway-dev:latest
imagePullPolicy: Always
startupProbe:
failureThreshold: 30
httpGet:
path: /healthz
port: 8081
periodSeconds: 1
successThreshold: 1
timeoutSeconds: 1
livenessProbe:
httpGet:
path: /healthz
port: 8081
initialDelaySeconds: 15
periodSeconds: 20
successThreshold: 1
timeoutSeconds: 1
name: envoy-gateway
ports:
- containerPort: 18000
Expand All @@ -487,8 +496,9 @@ spec:
httpGet:
path: /readyz
port: 8081
initialDelaySeconds: 5
periodSeconds: 10
successThreshold: 1
timeoutSeconds: 1
resources:
limits:
memory: 1024Mi
Expand Down
Loading