Skip to content

Commit

Permalink
feat: Add PodDisruptionBudget to helm chart (#246)
Browse files Browse the repository at this point in the history
* feat: Add PodDisruptionBudget to helm chart

Signed-off-by: Rafael da Fonseca <[email protected]>

* Specify namespace in pdb

Signed-off-by: Rafael da Fonseca <[email protected]>

* Fix outdated/removed python version (#245)

* Fix outdated/removed python version

Signed-off-by: Rafael da Fonseca <[email protected]>

* Fix outdated/removed python version

Signed-off-by: Rafael da Fonseca <[email protected]>

---------

Signed-off-by: Rafael da Fonseca <[email protected]>

* fix: codegen

Signed-off-by: Vishal Choudhary <[email protected]>
Signed-off-by: Rafael da Fonseca <[email protected]>

---------

Signed-off-by: Rafael da Fonseca <[email protected]>
Signed-off-by: Vishal Choudhary <[email protected]>
Co-authored-by: Vishal Choudhary <[email protected]>
  • Loading branch information
rsafonseca and vishal-chdhry authored Feb 7, 2025
1 parent 4aeb404 commit a1dda07
Show file tree
Hide file tree
Showing 5 changed files with 52 additions and 0 deletions.
4 changes: 4 additions & 0 deletions charts/reports-server/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,10 @@ helm install reports-server --namespace reports-server --create-namespace report
| autoscaling.maxReplicas | int | `100` | Max number of replicas |
| autoscaling.targetCPUUtilizationPercentage | int | `80` | Target CPU utilisation |
| autoscaling.targetMemoryUtilizationPercentage | string | `nil` | Target Memory utilisation |
| pdb | object | `{"enabled":true,"maxUnavailable":"50%","minAvailable":null}` | Using a PDB is highly recommended for highly available deployments. Defaults to enabled. The default configuration doesn't prevent disruption when using a single replica |
| pdb.enabled | bool | `true` | Enable PodDisruptionBudget |
| pdb.minAvailable | string | `nil` | minAvailable pods for PDB, cannot be used together with maxUnavailable |
| pdb.maxUnavailable | string | `"50%"` | maxUnavailable pods for PDB, will take precedence over minAvailable if both are defined |
| nodeSelector | object | `{}` | Node selector |
| tolerations | list | `[]` | Tolerations |
| affinity | object | `{}` | Affinity |
Expand Down
16 changes: 16 additions & 0 deletions charts/reports-server/templates/pod-disruption-budget.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{{- if eq .Values.pdb.enabled true }}
apiVersion: policy/v1
kind: PodDisruptionBudget
metadata:
name: {{ include "reports-server.fullname" . }}
namespace: {{ $.Release.Namespace }}
spec:
selector:
matchLabels:
app.kubernetes.io/name: {{ include "reports-server.name" . }}
{{- if .Values.pdb.maxUnavailable }}
maxUnavailable: {{ .Values.pdb.maxUnavailable }}
{{- else if .Values.pdb.minAvailable }}
minAvailable: {{ .Values.pdb.minAvailable }}
{{- end }}
{{- end }}
10 changes: 10 additions & 0 deletions charts/reports-server/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -144,6 +144,16 @@ autoscaling:
# -- Target Memory utilisation
targetMemoryUtilizationPercentage: ~


# -- Using a PDB is highly recommended for highly available deployments. Defaults to enabled. The default configuration doesn't prevent disruption when using a single replica
pdb:
# -- Enable PodDisruptionBudget
enabled: true
# -- minAvailable pods for PDB, cannot be used together with maxUnavailable
minAvailable: ~
# -- maxUnavailable pods for PDB, will take precedence over minAvailable if both are defined
maxUnavailable: 50%

# -- Node selector
nodeSelector: {}

Expand Down
11 changes: 11 additions & 0 deletions config/install-etcd.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,17 @@ kind: Namespace
metadata:
name: reports-server
---
apiVersion: policy/v1
kind: PodDisruptionBudget
metadata:
name: reports-server
namespace: reports-server
spec:
selector:
matchLabels:
app.kubernetes.io/name: reports-server
maxUnavailable: 50%
---
apiVersion: v1
kind: ServiceAccount
metadata:
Expand Down
11 changes: 11 additions & 0 deletions config/install.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,17 @@ kind: Namespace
metadata:
name: reports-server
---
apiVersion: policy/v1
kind: PodDisruptionBudget
metadata:
name: reports-server
namespace: reports-server
spec:
selector:
matchLabels:
app.kubernetes.io/name: reports-server
maxUnavailable: 50%
---
apiVersion: v1
kind: ServiceAccount
metadata:
Expand Down

0 comments on commit a1dda07

Please sign in to comment.