Chart: Deploy PodDisruptionBudget
with KEDA. (#11032)
* feat: deploy PDB if Keda is enabled and the minimum amount of replicas is greater than 1 * feat: add the corresponding unit-test to check PDB deployment with Keda * chore: rename the test of PDB to follow suggested pattern * chore: update the test-case suite name to the new format * Update charts/ingress-nginx/templates/controller-poddisruptionbudget.yaml Co-authored-by: Marco Ebert <marco_ebert@icloud.com> * Update charts/ingress-nginx/tests/controller-poddisruptionbudget_test.yaml Co-authored-by: Marco Ebert <marco_ebert@icloud.com> --------- Co-authored-by: Marco Ebert <marco_ebert@icloud.com>
This commit is contained in:
parent
9c384c7eb8
commit
b5c447612c
2 changed files with 72 additions and 1 deletions
|
@ -1,4 +1,10 @@
|
||||||
{{- if or (and .Values.controller.autoscaling.enabled (gt (.Values.controller.autoscaling.minReplicas | int) 1)) (and (not .Values.controller.autoscaling.enabled) (gt (.Values.controller.replicaCount | int) 1)) }}
|
{{- $replicas := .Values.controller.replicaCount }}
|
||||||
|
{{- if .Values.controller.autoscaling.enabled }}
|
||||||
|
{{- $replicas = .Values.controller.autoscaling.minReplicas }}
|
||||||
|
{{- else if .Values.controller.keda.enabled }}
|
||||||
|
{{- $replicas = .Values.controller.keda.minReplicas }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if gt ($replicas | int) 1 }}
|
||||||
apiVersion: {{ ternary "policy/v1" "policy/v1beta1" (semverCompare ">=1.21.0-0" .Capabilities.KubeVersion.Version) }}
|
apiVersion: {{ ternary "policy/v1" "policy/v1beta1" (semverCompare ">=1.21.0-0" .Capabilities.KubeVersion.Version) }}
|
||||||
kind: PodDisruptionBudget
|
kind: PodDisruptionBudget
|
||||||
metadata:
|
metadata:
|
||||||
|
|
|
@ -0,0 +1,65 @@
|
||||||
|
suite: Controller > PodDisruptionBudget
|
||||||
|
templates:
|
||||||
|
- controller-poddisruptionbudget.yaml
|
||||||
|
|
||||||
|
tests:
|
||||||
|
- it: should create a PodDisruptionBudget if `controller.replicaCount` is greater than 1
|
||||||
|
set:
|
||||||
|
controller.replicaCount: 2
|
||||||
|
asserts:
|
||||||
|
- hasDocuments:
|
||||||
|
count: 1
|
||||||
|
- isKind:
|
||||||
|
of: PodDisruptionBudget
|
||||||
|
- equal:
|
||||||
|
path: metadata.name
|
||||||
|
value: RELEASE-NAME-ingress-nginx-controller
|
||||||
|
|
||||||
|
- it: should not create a PodDisruptionBudget if `controller.replicaCount` is less than or equal 1
|
||||||
|
set:
|
||||||
|
controller.replicaCount: 1
|
||||||
|
asserts:
|
||||||
|
- hasDocuments:
|
||||||
|
count: 0
|
||||||
|
|
||||||
|
- it: should create a PodDisruptionBudget if `controller.autoscaling.enabled` is true and `controller.autoscaling.minReplicas` is greater than 1
|
||||||
|
set:
|
||||||
|
controller.autoscaling.enabled: true
|
||||||
|
controller.autoscaling.minReplicas: 2
|
||||||
|
asserts:
|
||||||
|
- hasDocuments:
|
||||||
|
count: 1
|
||||||
|
- isKind:
|
||||||
|
of: PodDisruptionBudget
|
||||||
|
- equal:
|
||||||
|
path: metadata.name
|
||||||
|
value: RELEASE-NAME-ingress-nginx-controller
|
||||||
|
|
||||||
|
- it: should not create a PodDisruptionBudget if `controller.autoscaling.enabled` is true and `controller.autoscaling.minReplicas` is less than or equal 1
|
||||||
|
set:
|
||||||
|
controller.autoscaling.enabled: true
|
||||||
|
controller.autoscaling.minReplicas: 1
|
||||||
|
asserts:
|
||||||
|
- hasDocuments:
|
||||||
|
count: 0
|
||||||
|
|
||||||
|
- it: should create a PodDisruptionBudget if `controller.keda.enabled` is true and `controller.keda.minReplicas` is greater than 1
|
||||||
|
set:
|
||||||
|
controller.keda.enabled: true
|
||||||
|
controller.keda.minReplicas: 2
|
||||||
|
asserts:
|
||||||
|
- hasDocuments:
|
||||||
|
count: 1
|
||||||
|
- isKind:
|
||||||
|
of: PodDisruptionBudget
|
||||||
|
- equal:
|
||||||
|
path: metadata.name
|
||||||
|
value: RELEASE-NAME-ingress-nginx-controller
|
||||||
|
|
||||||
|
- it: should not create a PodDisruptionBudget if `controller.keda.enabled` is true and `controller.keda.minReplicas` is less than or equal 1
|
||||||
|
set:
|
||||||
|
controller.keda.enabled: true
|
||||||
|
controller.keda.minReplicas: 1
|
||||||
|
asserts:
|
||||||
|
- hasDocuments:
|
||||||
|
count: 0
|
Loading…
Reference in a new issue