From cc084df759a98dca7dfb4da01d4a8599a96a041b Mon Sep 17 00:00:00 2001 From: Dan Date: Mon, 20 Feb 2023 10:15:54 +0000 Subject: [PATCH] integrate suggestions for PDB enhancements --- .../templates/_helpers.tpl | 11 +++++++++++ .../templates/poddisruptionbudget.yaml | 9 ++++----- charts/nfs-subdir-external-provisioner/values.yaml | 4 ++++ 3 files changed, 19 insertions(+), 5 deletions(-) diff --git a/charts/nfs-subdir-external-provisioner/templates/_helpers.tpl b/charts/nfs-subdir-external-provisioner/templates/_helpers.tpl index c6c4f79f..5c76a13a 100644 --- a/charts/nfs-subdir-external-provisioner/templates/_helpers.tpl +++ b/charts/nfs-subdir-external-provisioner/templates/_helpers.tpl @@ -61,6 +61,17 @@ Return the appropriate apiVersion for podSecurityPolicy. {{- end -}} {{- end -}} +{{/* +Return the appropriate apiVersion for podDisruptionBudget. +*/}} +{{- define "podDisruptionBudget.apiVersion" -}} +{{- if semverCompare ">=1.21-0" .Capabilities.KubeVersion.GitVersion -}} +{{- print "policy/v1" -}} +{{- else -}} +{{- print "policy/v1beta1" -}} +{{- end -}} +{{- end -}} + {{/* Common labels */}} diff --git a/charts/nfs-subdir-external-provisioner/templates/poddisruptionbudget.yaml b/charts/nfs-subdir-external-provisioner/templates/poddisruptionbudget.yaml index dae204f1..a6d2a885 100644 --- a/charts/nfs-subdir-external-provisioner/templates/poddisruptionbudget.yaml +++ b/charts/nfs-subdir-external-provisioner/templates/poddisruptionbudget.yaml @@ -1,14 +1,13 @@ -{{ if gt .Values.replicaCount 1.0}} -apiVersion: policy/v1 +{{- if .Values.podDisruptionBudget.enabled }} +apiVersion: {{ template "podDisruptionBudget.apiVersion" . }} kind: PodDisruptionBudget metadata: labels: {{- include "nfs-subdir-external-provisioner.labels" . | nindent 4 }} name: {{ template "nfs-subdir-external-provisioner.fullname" . }} - namespace: {{ .Release.Namespace }} spec: - maxUnavailable: 1 + maxUnavailable: {{ .Values.podDisruptionBudget.maxUnavailable | default 1 }} selector: matchLabels: {{- include "nfs-subdir-external-provisioner.selectorLabels" . | nindent 6 }} -{{ end }} +{{- end }} diff --git a/charts/nfs-subdir-external-provisioner/values.yaml b/charts/nfs-subdir-external-provisioner/values.yaml index f6260238..d21d0d1d 100644 --- a/charts/nfs-subdir-external-provisioner/values.yaml +++ b/charts/nfs-subdir-external-provisioner/values.yaml @@ -108,3 +108,7 @@ affinity: {} # Additional labels for any resource created labels: {} + +podDisruptionBudget: + enabled: false + maxUnavailable: 1 \ No newline at end of file