(helm) add pdbs to deployments

In order to avoid a service interruption during a Kubernetes (k8s)
upgrade, we add a Pod Disruption Budget (PDB) to deployments.
This commit is contained in:
Jacques ROUSSEL
2025-02-05 22:22:50 +01:00
committed by aleb_the_flash
parent b5037db685
commit 2cd4a6efa8
9 changed files with 76 additions and 8 deletions

View File

@@ -3,10 +3,8 @@ run-name: Release Chart
on: on:
push: push:
branches:
- 'main'
paths: paths:
- ./src/helm/meet/** - src/helm/meet/**
jobs: jobs:
release: release:

View File

@@ -1,3 +1,4 @@
# Changelog # Changelog
All notable changes to this project will be documented in this file. All notable changes to this project will be documented in this file.

View File

@@ -1,4 +1,4 @@
apiVersion: v2 apiVersion: v2
type: application type: application
name: meet name: meet
version: 0.0.2 version: 0.0.3

View File

@@ -82,6 +82,7 @@
| `backend.persistence.volume-name.mountPath` | Path where the volume should be mounted to | | | `backend.persistence.volume-name.mountPath` | Path where the volume should be mounted to | |
| `backend.extraVolumeMounts` | Additional volumes to mount on the backend. | `[]` | | `backend.extraVolumeMounts` | Additional volumes to mount on the backend. | `[]` |
| `backend.extraVolumes` | Additional volumes to mount on the backend. | `[]` | | `backend.extraVolumes` | Additional volumes to mount on the backend. | `[]` |
| `backend.pdb.enabled` | Enable pdb on backend | `true` |
### frontend ### frontend
@@ -131,6 +132,7 @@
| `frontend.persistence.volume-name.mountPath` | Path where the volume should be mounted to | | | `frontend.persistence.volume-name.mountPath` | Path where the volume should be mounted to | |
| `frontend.extraVolumeMounts` | Additional volumes to mount on the frontend. | `[]` | | `frontend.extraVolumeMounts` | Additional volumes to mount on the frontend. | `[]` |
| `frontend.extraVolumes` | Additional volumes to mount on the frontend. | `[]` | | `frontend.extraVolumes` | Additional volumes to mount on the frontend. | `[]` |
| `frontend.pdb.enabled` | Enable pdb on frontend | `true` |
### posthog ### posthog
@@ -208,6 +210,7 @@
| `summary.persistence.volume-name.mountPath` | Path where the volume should be mounted to | | | `summary.persistence.volume-name.mountPath` | Path where the volume should be mounted to | |
| `summary.extraVolumeMounts` | Additional volumes to mount on the summary. | `[]` | | `summary.extraVolumeMounts` | Additional volumes to mount on the summary. | `[]` |
| `summary.extraVolumes` | Additional volumes to mount on the summary. | `[]` | | `summary.extraVolumes` | Additional volumes to mount on the summary. | `[]` |
| `summary.pdb.enabled` | Enable pdb on summary | `true` |
### celery ### celery
@@ -255,3 +258,4 @@
| `celery.persistence.volume-name.mountPath` | Path where the volume should be mounted to | | | `celery.persistence.volume-name.mountPath` | Path where the volume should be mounted to | |
| `celery.extraVolumeMounts` | Additional volumes to mount on the celery. | `[]` | | `celery.extraVolumeMounts` | Additional volumes to mount on the celery. | `[]` |
| `celery.extraVolumes` | Additional volumes to mount on the celery. | `[]` | | `celery.extraVolumes` | Additional volumes to mount on the celery. | `[]` |
| `celery.pdb.enabled` | Enable pdb on celery | `false` |

View File

@@ -138,3 +138,16 @@ spec:
emptyDir: {} emptyDir: {}
{{- end }} {{- end }}
{{- end }} {{- end }}
---
{{ if .Values.backend.pdb.enabled }}
apiVersion: policy/v1
kind: PodDisruptionBudget
metadata:
name: {{ $fullName }}
namespace: {{ .Release.Namespace | quote }}
spec:
maxUnavailable: 1
selector:
matchLabels:
{{- include "meet.common.selectorLabels" (list . $component) | nindent 6 }}
{{ end }}

View File

@@ -138,3 +138,16 @@ spec:
emptyDir: {} emptyDir: {}
{{- end }} {{- end }}
{{- end }} {{- end }}
---
{{ if .Values.celery.pdb.enabled }}
apiVersion: policy/v1
kind: PodDisruptionBudget
metadata:
name: {{ $fullName }}
namespace: {{ .Release.Namespace | quote }}
spec:
maxUnavailable: 1
selector:
matchLabels:
{{- include "meet.common.selectorLabels" (list . $component) | nindent 6 }}
{{ end }}

View File

@@ -138,3 +138,16 @@ spec:
emptyDir: {} emptyDir: {}
{{- end }} {{- end }}
{{- end }} {{- end }}
---
{{ if .Values.frontend.pdb.enabled }}
apiVersion: policy/v1
kind: PodDisruptionBudget
metadata:
name: {{ $fullName }}
namespace: {{ .Release.Namespace | quote }}
spec:
maxUnavailable: 1
selector:
matchLabels:
{{- include "meet.common.selectorLabels" (list . $component) | nindent 6 }}
{{ end }}

View File

@@ -138,3 +138,16 @@ spec:
emptyDir: {} emptyDir: {}
{{- end }} {{- end }}
{{- end }} {{- end }}
---
{{ if .Values.summary.pdb.enabled }}
apiVersion: policy/v1
kind: PodDisruptionBudget
metadata:
name: {{ $fullName }}
namespace: {{ .Release.Namespace | quote }}
spec:
maxUnavailable: 1
selector:
matchLabels:
{{- include "meet.common.selectorLabels" (list . $component) | nindent 6 }}
{{ end }}

View File

@@ -120,8 +120,8 @@ backend:
targetPort: 8000 targetPort: 8000
annotations: {} annotations: {}
## @param backend.migrate.command backend migrate command ## @param backend.migrate.command backend migrate command
## @param backend.migrate.restartPolicy backend migrate job restart policy ## @param backend.migrate.restartPolicy backend migrate job restart policy
migrate: migrate:
command: command:
- "python" - "python"
@@ -130,8 +130,8 @@ backend:
- "--no-input" - "--no-input"
restartPolicy: Never restartPolicy: Never
## @param backend.createsuperuser.command backend migrate command ## @param backend.createsuperuser.command backend migrate command
## @param backend.createsuperuser.restartPolicy backend migrate job restart policy ## @param backend.createsuperuser.restartPolicy backend migrate job restart policy
createsuperuser: createsuperuser:
command: command:
- "/bin/sh" - "/bin/sh"
@@ -184,6 +184,9 @@ backend:
## @param backend.extraVolumes Additional volumes to mount on the backend. ## @param backend.extraVolumes Additional volumes to mount on the backend.
extraVolumes: [] extraVolumes: []
## @param backend.pdb.enabled Enable pdb on backend
pdb:
enabled: true
## @section frontend ## @section frontend
@@ -279,6 +282,10 @@ frontend:
## @param frontend.extraVolumes Additional volumes to mount on the frontend. ## @param frontend.extraVolumes Additional volumes to mount on the frontend.
extraVolumes: [] extraVolumes: []
## @param frontend.pdb.enabled Enable pdb on frontend
pdb:
enabled: true
## @section posthog ## @section posthog
posthog: posthog:
@@ -443,6 +450,9 @@ summary:
## @param summary.extraVolumes Additional volumes to mount on the summary. ## @param summary.extraVolumes Additional volumes to mount on the summary.
extraVolumes: [] extraVolumes: []
## @param summary.pdb.enabled Enable pdb on summary
pdb:
enabled: true
## @section celery ## @section celery
@@ -533,3 +543,6 @@ celery:
## @param celery.extraVolumes Additional volumes to mount on the celery. ## @param celery.extraVolumes Additional volumes to mount on the celery.
extraVolumes: [] extraVolumes: []
## @param celery.pdb.enabled Enable pdb on celery
pdb:
enabled: false