From 0d4778af4211846f9123e9ce98da6dd3eb50f247 Mon Sep 17 00:00:00 2001 From: Tim Usner Date: Thu, 17 Nov 2022 14:55:12 +0100 Subject: [PATCH 1/2] Enable leader election for CCM --- .../cloud-provider-equinix-metal/templates/deployment.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/charts/internal/seed-controlplane/charts/cloud-provider-equinix-metal/templates/deployment.yaml b/charts/internal/seed-controlplane/charts/cloud-provider-equinix-metal/templates/deployment.yaml index 86fc335f9..d14f9d4a0 100644 --- a/charts/internal/seed-controlplane/charts/cloud-provider-equinix-metal/templates/deployment.yaml +++ b/charts/internal/seed-controlplane/charts/cloud-provider-equinix-metal/templates/deployment.yaml @@ -38,7 +38,7 @@ spec: command: - ./cloud-provider-equinix-metal - --cloud-provider=equinixmetal - - --leader-elect=false + - --leader-elect=true - --allow-untagged-cloud=true - --authentication-skip-lookup=true - --kubeconfig=/var/run/secrets/gardener.cloud/shoot/generic-kubeconfig/kubeconfig From 34bf756115f2dc307916a1a4f5624a143a89bc4e Mon Sep 17 00:00:00 2001 From: Tim Usner Date: Thu, 17 Nov 2022 15:19:39 +0100 Subject: [PATCH 2/2] Adapt high-availability configuration --- .../templates/deployment.yaml | 1 + .../templates/poddisruptionbudget.yaml | 4 +--- .../templates/rbac.yaml | 11 +++++++++++ .../seed/templates/deployment.yaml | 1 + .../seed/templates/poddisruptionbudget.yaml | 18 ++++++++++++++++++ .../templates/deployment.yaml | 1 + .../templates/poddisruptionbudget.yaml | 16 ++++++++++++++++ example/controller-registration.yaml | 2 +- 8 files changed, 50 insertions(+), 4 deletions(-) create mode 100644 charts/internal/machine-controller-manager/seed/templates/poddisruptionbudget.yaml create mode 100644 charts/internal/seed-controlplane/charts/cloud-provider-equinix-metal/templates/poddisruptionbudget.yaml diff --git a/charts/gardener-extension-provider-equinix-metal/templates/deployment.yaml b/charts/gardener-extension-provider-equinix-metal/templates/deployment.yaml index 7f130f9ca..c65d21a99 100644 --- a/charts/gardener-extension-provider-equinix-metal/templates/deployment.yaml +++ b/charts/gardener-extension-provider-equinix-metal/templates/deployment.yaml @@ -9,6 +9,7 @@ metadata: {{- end }} labels: {{ include "labels" . | indent 4 }} + high-availability-config.resources.gardener.cloud/type: server spec: revisionHistoryLimit: 0 replicas: {{ .Values.replicaCount }} diff --git a/charts/gardener-extension-provider-equinix-metal/templates/poddisruptionbudget.yaml b/charts/gardener-extension-provider-equinix-metal/templates/poddisruptionbudget.yaml index 087ba8df2..2dc2edccc 100644 --- a/charts/gardener-extension-provider-equinix-metal/templates/poddisruptionbudget.yaml +++ b/charts/gardener-extension-provider-equinix-metal/templates/poddisruptionbudget.yaml @@ -1,4 +1,3 @@ -{{- if gt (int .Values.replicaCount) 1 }} {{- if semverCompare ">= 1.21-0" .Capabilities.KubeVersion.GitVersion }} apiVersion: policy/v1 {{- else }} @@ -11,8 +10,7 @@ metadata: labels: {{ include "labels" . | indent 4 }} spec: - maxUnavailable: {{ sub (int .Values.replicaCount) 1 }} + maxUnavailable: 1 selector: matchLabels: {{ include "labels" . | indent 6 }} -{{- end }} diff --git a/charts/gardener-extension-provider-equinix-metal/templates/rbac.yaml b/charts/gardener-extension-provider-equinix-metal/templates/rbac.yaml index 81ee42e4b..6619d7adf 100644 --- a/charts/gardener-extension-provider-equinix-metal/templates/rbac.yaml +++ b/charts/gardener-extension-provider-equinix-metal/templates/rbac.yaml @@ -90,6 +90,17 @@ rules: - verticalpodautoscalers verbs: - "*" +- apiGroups: + - policy + resources: + - poddisruptionbudgets + verbs: + - get + - list + - watch + - patch + - update + - delete --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding diff --git a/charts/internal/machine-controller-manager/seed/templates/deployment.yaml b/charts/internal/machine-controller-manager/seed/templates/deployment.yaml index 7bb9474ec..62983de76 100644 --- a/charts/internal/machine-controller-manager/seed/templates/deployment.yaml +++ b/charts/internal/machine-controller-manager/seed/templates/deployment.yaml @@ -7,6 +7,7 @@ metadata: labels: app: kubernetes role: machine-controller-manager + high-availability-config.resources.gardener.cloud/type: controller spec: revisionHistoryLimit: 0 replicas: {{ .Values.replicas }} diff --git a/charts/internal/machine-controller-manager/seed/templates/poddisruptionbudget.yaml b/charts/internal/machine-controller-manager/seed/templates/poddisruptionbudget.yaml new file mode 100644 index 000000000..83a925c2e --- /dev/null +++ b/charts/internal/machine-controller-manager/seed/templates/poddisruptionbudget.yaml @@ -0,0 +1,18 @@ +{{- if semverCompare ">= 1.21-0" .Capabilities.KubeVersion.GitVersion }} +apiVersion: policy/v1 +{{- else }} +apiVersion: policy/v1beta1 +{{- end }} +kind: PodDisruptionBudget +metadata: + name: machine-controller-manager + namespace: {{ .Release.Namespace }} + labels: + app: kubernetes + role: machine-controller-manager +spec: + maxUnavailable: 1 + selector: + matchLabels: + app: kubernetes + role: machine-controller-manager diff --git a/charts/internal/seed-controlplane/charts/cloud-provider-equinix-metal/templates/deployment.yaml b/charts/internal/seed-controlplane/charts/cloud-provider-equinix-metal/templates/deployment.yaml index d14f9d4a0..e53c30a6c 100644 --- a/charts/internal/seed-controlplane/charts/cloud-provider-equinix-metal/templates/deployment.yaml +++ b/charts/internal/seed-controlplane/charts/cloud-provider-equinix-metal/templates/deployment.yaml @@ -6,6 +6,7 @@ metadata: namespace: {{ .Release.Namespace }} labels: app: cloud-controller-manager + high-availability-config.resources.gardener.cloud/type: controller spec: revisionHistoryLimit: 0 replicas: {{ .Values.replicas }} diff --git a/charts/internal/seed-controlplane/charts/cloud-provider-equinix-metal/templates/poddisruptionbudget.yaml b/charts/internal/seed-controlplane/charts/cloud-provider-equinix-metal/templates/poddisruptionbudget.yaml new file mode 100644 index 000000000..dd8b7e128 --- /dev/null +++ b/charts/internal/seed-controlplane/charts/cloud-provider-equinix-metal/templates/poddisruptionbudget.yaml @@ -0,0 +1,16 @@ +{{- if semverCompare ">= 1.21-0" .Capabilities.KubeVersion.GitVersion }} +apiVersion: policy/v1 +{{- else }} +apiVersion: policy/v1beta1 +{{- end }} +kind: PodDisruptionBudget +metadata: + name: cloud-controller-manager + namespace: {{ .Release.Namespace }} + labels: + role: cloud-controller-manager +spec: + maxUnavailable: 1 + selector: + matchLabels: + role: cloud-controller-manager diff --git a/example/controller-registration.yaml b/example/controller-registration.yaml index 004c0adb1..d9bafe135 100644 --- a/example/controller-registration.yaml +++ b/example/controller-registration.yaml @@ -5,7 +5,7 @@ metadata: name: provider-equinix-metal type: helm providerConfig: - chart: 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 + chart: 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 values: image: tag: v2.6.0-dev