Fix: improve controller deployments for EBS and EFS CSI drivers

This commit is contained in:
Stefan Reimer 2022-05-05 17:22:23 +02:00
parent d64ba1e3f3
commit 25ca7ae6d9
7 changed files with 61 additions and 15 deletions

View File

@ -2,7 +2,7 @@ apiVersion: v2
name: kubezero-storage name: kubezero-storage
description: KubeZero umbrella chart for all things storage incl. AWS EBS/EFS, openEBS-lvm, gemini description: KubeZero umbrella chart for all things storage incl. AWS EBS/EFS, openEBS-lvm, gemini
type: application type: application
version: 0.6.3 version: 0.6.4
home: https://kubezero.com home: https://kubezero.com
icon: https://cdn.zero-downtime.net/assets/kubezero/logo-small-64.png icon: https://cdn.zero-downtime.net/assets/kubezero/logo-small-64.png
keywords: keywords:

View File

@ -13,6 +13,10 @@ spec:
app: efs-csi-controller app: efs-csi-controller
app.kubernetes.io/name: {{ include "aws-efs-csi-driver.name" . }} app.kubernetes.io/name: {{ include "aws-efs-csi-driver.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/instance: {{ .Release.Name }}
{{- with .Values.controller.updateStrategy }}
strategy:
type: {{ . }}
{{- end }}
template: template:
metadata: metadata:
labels: labels:
@ -58,7 +62,7 @@ spec:
- name: CSI_ENDPOINT - name: CSI_ENDPOINT
value: unix:///var/lib/csi/sockets/pluginproxy/csi.sock value: unix:///var/lib/csi/sockets/pluginproxy/csi.sock
{{- if .Values.controller.extraEnv }} {{- if .Values.controller.extraEnv }}
{{ toYaml .Values.controller.extraEnv | indent 12 }} {{- toYaml .Values.controller.extraEnv | nindent 12 }}
{{- end }} {{- end }}
volumeMounts: volumeMounts:
- name: socket-dir - name: socket-dir

View File

@ -1,12 +1,23 @@
diff -tubNr charts/aws-efs-csi-driver/templates/controller-deployment.yaml charts/aws-efs-csi-driver.zdt/templates/controller-deployment.yaml diff -tuNr charts/aws-efs-csi-driver.orig/templates/controller-deployment.yaml charts/aws-efs-csi-driver/templates/controller-deployment.yaml
--- charts/aws-efs-csi-driver/templates/controller-deployment.yaml 2021-06-25 22:43:06.000000000 +0200 --- charts/aws-efs-csi-driver.orig/templates/controller-deployment.yaml 2022-04-28 01:41:15.000000000 +0200
+++ charts/aws-efs-csi-driver.zdt/templates/controller-deployment.yaml 2021-07-15 00:37:28.960305011 +0200 +++ charts/aws-efs-csi-driver/templates/controller-deployment.yaml 2022-05-05 17:10:49.708746126 +0200
@@ -57,9 +56,14 @@ @@ -13,6 +13,10 @@
app: efs-csi-controller
app.kubernetes.io/name: {{ include "aws-efs-csi-driver.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
+ {{- with .Values.controller.updateStrategy }}
+ strategy:
+ type: {{ . }}
+ {{- end }}
template:
metadata:
labels:
@@ -57,9 +61,14 @@
env: env:
- name: CSI_ENDPOINT - name: CSI_ENDPOINT
value: unix:///var/lib/csi/sockets/pluginproxy/csi.sock value: unix:///var/lib/csi/sockets/pluginproxy/csi.sock
+ {{- if .Values.controller.extraEnv }} + {{- if .Values.controller.extraEnv }}
+{{ toYaml .Values.controller.extraEnv | indent 12 }} + {{- toYaml .Values.controller.extraEnv | nindent 12 }}
+ {{- end }} + {{- end }}
volumeMounts: volumeMounts:
- name: socket-dir - name: socket-dir
@ -15,8 +26,8 @@ diff -tubNr charts/aws-efs-csi-driver/templates/controller-deployment.yaml chart
+ mountPath: "/var/run/secrets/sts.amazonaws.com/serviceaccount/" + mountPath: "/var/run/secrets/sts.amazonaws.com/serviceaccount/"
ports: ports:
- name: healthz - name: healthz
containerPort: 9909 containerPort: {{ .Values.controller.healthPort }}
@@ -110,6 +114,13 @@ @@ -110,6 +119,13 @@
volumes: volumes:
- name: socket-dir - name: socket-dir
emptyDir: {} emptyDir: {}
@ -30,9 +41,9 @@ diff -tubNr charts/aws-efs-csi-driver/templates/controller-deployment.yaml chart
{{- with .Values.controller.affinity }} {{- with .Values.controller.affinity }}
affinity: {{- toYaml . | nindent 8 }} affinity: {{- toYaml . | nindent 8 }}
{{- end }} {{- end }}
diff -tubNr charts/aws-efs-csi-driver/templates/node-daemonset.yaml charts/aws-efs-csi-driver.zdt/templates/node-daemonset.yaml diff -tuNr charts/aws-efs-csi-driver.orig/templates/node-daemonset.yaml charts/aws-efs-csi-driver/templates/node-daemonset.yaml
--- charts/aws-efs-csi-driver/templates/node-daemonset.yaml 2021-06-25 22:43:06.000000000 +0200 --- charts/aws-efs-csi-driver.orig/templates/node-daemonset.yaml 2022-04-28 01:41:15.000000000 +0200
+++ charts/aws-efs-csi-driver.zdt/templates/node-daemonset.yaml 2021-07-15 00:14:58.680295564 +0200 +++ charts/aws-efs-csi-driver/templates/node-daemonset.yaml 2022-05-05 17:09:28.361227665 +0200
@@ -40,15 +40,10 @@ @@ -40,15 +40,10 @@
{{- with .Values.node.nodeSelector }} {{- with .Values.node.nodeSelector }}
{{- toYaml . | nindent 8 }} {{- toYaml . | nindent 8 }}

View File

@ -18,7 +18,7 @@
"subdir": "contrib/mixin" "subdir": "contrib/mixin"
} }
}, },
"version": "08407ff7600eb16c4445d5f21c4fafaf19412e24", "version": "8453b10e580cc8f44922d8aa89ededba08d6089c",
"sum": "W/Azptf1PoqjyMwJON96UY69MFugDA4IAYiKURscryc=" "sum": "W/Azptf1PoqjyMwJON96UY69MFugDA4IAYiKURscryc="
}, },
{ {

View File

@ -2,7 +2,7 @@ apiVersion: v2
name: kubezero name: kubezero
description: KubeZero - Root App of Apps chart description: KubeZero - Root App of Apps chart
type: application type: application
version: 1.22.8-6 version: 1.22.8-7
home: https://kubezero.com home: https://kubezero.com
icon: https://cdn.zero-downtime.net/assets/kubezero/logo-small-64.png icon: https://cdn.zero-downtime.net/assets/kubezero/logo-small-64.png
keywords: keywords:

View File

@ -25,8 +25,22 @@ aws-ebs-csi-driver:
- name: AWS_STS_REGIONAL_ENDPOINTS - name: AWS_STS_REGIONAL_ENDPOINTS
value: regional value: regional
{{- if .Values.HighAvailableControlplane }}
affinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions:
- key: app
operator: In
values:
- ebs-csi-controller
topologyKey: "kubernetes.io/hostname"
{{- end }}
aws-efs-csi-driver: aws-efs-csi-driver:
enabled: {{ default false (index .Values "storage" "aws-efs-csi-driver" "enabled")}} enabled: {{ default false (index .Values "storage" "aws-efs-csi-driver" "enabled")}}
replicaCount: {{ ternary 2 1 .Values.HighAvailableControlplane }}
controller: controller:
extraEnv: extraEnv:
- name: AWS_ROLE_ARN - name: AWS_ROLE_ARN
@ -35,6 +49,23 @@ aws-efs-csi-driver:
value: "/var/run/secrets/sts.amazonaws.com/serviceaccount/token" value: "/var/run/secrets/sts.amazonaws.com/serviceaccount/token"
- name: AWS_STS_REGIONAL_ENDPOINTS - name: AWS_STS_REGIONAL_ENDPOINTS
value: regional value: regional
# The EFS controller steel needs hostnetwork and cannot update on single node control planes otherwise
{{- if not .Values.HighAvailableControlplane }}
updateStrategy: Recreate
{{- else }}
affinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions:
- key: app
operator: In
values:
- efs-csi-controller
topologyKey: "kubernetes.io/hostname"
{{- end }}
# Dynamic Provisioning # Dynamic Provisioning
{{- with index .Values "storage" "aws-efs-csi-driver" "storageClasses" }} {{- with index .Values "storage" "aws-efs-csi-driver" "storageClasses" }}
storageClasses: storageClasses:

View File

@ -22,7 +22,7 @@ cert-manager:
storage: storage:
enabled: false enabled: false
targetRevision: 0.6.3 targetRevision: 0.6.4
aws-ebs-csi-driver: aws-ebs-csi-driver:
enabled: false enabled: false
aws-efs-csi-driver: aws-efs-csi-driver: