From 38d86ab4001fabaf8781a4a0367b57744cba8f2d Mon Sep 17 00:00:00 2001 From: Mark Rossetti Date: Wed, 2 Mar 2022 16:23:14 -0800 Subject: [PATCH] Adding deployment file for running windows containers as host process containers Signed-off-by: Mark Rossetti --- Makefile | 4 + charts/README.md | 5 +- .../latest/azuredisk-csi-driver-v1.14.0.tgz | Bin 11278 -> 11719 bytes ...si-azuredisk-node-windows-hostprocess.yaml | 163 ++++++++++++++++++ .../templates/csi-azuredisk-node-windows.yaml | 2 +- .../latest/azuredisk-csi-driver/values.yaml | 4 + deploy/csi-azuredisk-controller.yaml | 3 + ...si-azuredisk-node-windows-hostprocess.yaml | 132 ++++++++++++++ deploy/install-driver.sh | 6 +- deploy/uninstall-driver.sh | 6 +- 10 files changed, 320 insertions(+), 5 deletions(-) create mode 100644 charts/latest/azuredisk-csi-driver/templates/csi-azuredisk-node-windows-hostprocess.yaml create mode 100644 deploy/csi-azuredisk-node-windows-hostprocess.yaml diff --git a/Makefile b/Makefile index f29970d1e9..ff92961c0f 100644 --- a/Makefile +++ b/Makefile @@ -66,6 +66,9 @@ ALL_OSVERSIONS.windows := 1809 20H2 ltsc2022 ALL_OS_ARCH.windows = $(foreach arch, $(ALL_ARCH.windows), $(foreach osversion, ${ALL_OSVERSIONS.windows}, windows-${osversion}-${arch})) ALL_OS_ARCH = $(foreach os, $(ALL_OS), ${ALL_OS_ARCH.${os}}) +# If set to true Windows containers will run as HostProcessContainers +WINDOWS_USE_HOST_PROCESS_CONTAINERS ?= false + # The current context of image building # The architecture of the image ARCH ?= amd64 @@ -117,6 +120,7 @@ ifdef TEST_WINDOWS helm install azuredisk-csi-driver charts/${CHART_VERSION}/azuredisk-csi-driver --namespace kube-system --wait --timeout=15m -v=5 --debug \ ${E2E_HELM_OPTIONS} \ --set windows.enabled=true \ + --set windows.useHostProcessContainers=${WINDOWS_USE_HOST_PROCESS_CONTAINERS} \ --set linux.enabled=false \ --set controller.replicas=1 \ --set controller.logLevel=6 \ diff --git a/charts/README.md b/charts/README.md index 109c38e7af..3c9c7f830b 100644 --- a/charts/README.md +++ b/charts/README.md @@ -157,7 +157,7 @@ The following table lists the configurable parameters of the latest Azure Disk C | `controller.allowEmptyCloudConfig` | Whether allow running controller driver without cloud config | `false` | `controller.replicas` | the replicas of csi-azuredisk-controller | `2` | | `controller.metricsPort` | metrics port of csi-azuredisk-controller | `29604` | -| `controller.livenessProbe.healthPort ` | health check port for liveness probe | `29602` | +| `controller.livenessProbe.healthPort` | health check port for liveness probe | `29602` | | `controller.runOnMaster` | run csi-azuredisk-controller on master node | `false` | | `controller.logLevel` | controller driver log level |`5` | | `controller.tolerations` | controller pod tolerations | | @@ -186,7 +186,7 @@ The following table lists the configurable parameters of the latest Azure Disk C | `node.allowEmptyCloudConfig` | Whether allow running node driver without cloud config | `true` | `node.maxUnavailable` | `maxUnavailable` value of driver node daemonset | `1` | `node.metricsPort` | metrics port of csi-azuredisk-node |`29605` | -| `node.livenessProbe.healthPort ` | health check port for liveness probe | `29603` | +| `node.livenessProbe.healthPort` | health check port for liveness probe | `29603` | | `node.logLevel` | node driver log level |`5` | | `snapshot.enabled` | whether enable snapshot feature | `false` | | `snapshot.image.csiSnapshotter.repository` | csi-snapshotter docker image | `/oss/kubernetes-csi/csi-snapshotter` | @@ -230,6 +230,7 @@ The following table lists the configurable parameters of the latest Azure Disk C | `windows.resources.azuredisk.limits.memory` | azuredisk memory limits | 200Mi | | `windows.resources.azuredisk.requests.cpu` | azuredisk cpu requests | 10m | | `windows.resources.azuredisk.requests.memory` | azuredisk memory requests | 40Mi | +| `windows.useHostProcessContainers` | use HostProcessContainers for deployment | false | | `cloud` | cloud environment driver is running on | `AzurePublicCloud` | --- diff --git a/charts/latest/azuredisk-csi-driver-v1.14.0.tgz b/charts/latest/azuredisk-csi-driver-v1.14.0.tgz index 2a649fbb7e5358df56c6b5d211f33ba3b1a83702..c506702c8e1443d0de7cfd698cd677a0c3caae23 100644 GIT binary patch literal 11719 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 literal 11278 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 diff --git a/charts/latest/azuredisk-csi-driver/templates/csi-azuredisk-node-windows-hostprocess.yaml b/charts/latest/azuredisk-csi-driver/templates/csi-azuredisk-node-windows-hostprocess.yaml new file mode 100644 index 0000000000..500b74bb3e --- /dev/null +++ b/charts/latest/azuredisk-csi-driver/templates/csi-azuredisk-node-windows-hostprocess.yaml @@ -0,0 +1,163 @@ +{{- if and (.Values.windows.enabled) (eq .Values.windows.useHostProcessContainers true) }} +kind: DaemonSet +apiVersion: apps/v1 +metadata: + name: {{ .Values.windows.dsName }} + namespace: {{ .Release.Namespace }} +{{ include "azuredisk.labels" . | indent 2 }} +spec: + updateStrategy: + rollingUpdate: + maxUnavailable: {{ .Values.node.maxUnavailable }} + type: RollingUpdate + selector: + matchLabels: + app: {{ .Values.windows.dsName }} + template: + metadata: +{{ include "azuredisk.labels" . | indent 6 }} + app: {{ .Values.windows.dsName }} +{{- with .Values.windows.podLabels }} +{{ toYaml . | indent 8 }} +{{- end }} + spec: + serviceAccountName: {{ .Values.serviceAccount.node }} +{{- with .Values.windows.tolerations }} + tolerations: +{{ toYaml . | indent 8 }} +{{- end }} + nodeSelector: + kubernetes.io/os: windows + affinity: + nodeAffinity: +{{ toYaml .Values.windows.nodeAffinity | indent 10 }} + priorityClassName: system-node-critical + {{- include "azuredisk.pullSecrets" . | indent 6 }} + securityContext: + windowsOptions: + hostProcess: true + runAsUserName: "NT AUTHORITY\\SYSTEM" + hostNetwork: true + initContainers: + - name: init +{{- if hasPrefix "/" .Values.image.azuredisk.repository }} + image: "{{ .Values.image.baseRepo }}{{ .Values.image.azuredisk.repository }}:{{ .Values.image.azuredisk.tag }}" +{{- else }} + image: "{{ .Values.image.azuredisk.repository }}:{{ .Values.image.azuredisk.tag }}" +{{- end }} + imagePullPolicy: {{ .Values.image.azuredisk.pullPolicy }} + command: + - "powershell.exe" + - "-c" + - "New-Item" + - "-ItemType" + - "Directory" + - "-Path" + - "C:\\var\\lib\\kubelet\\plugins\\{{ .Values.driver.name }}\\" + - "-Force" + containers: + - name: liveness-probe +{{- if hasPrefix "/" .Values.image.livenessProbe.repository }} + image: "{{ .Values.image.baseRepo }}{{ .Values.image.livenessProbe.repository }}:{{ .Values.image.livenessProbe.tag }}" +{{- else }} + image: "{{ .Values.image.livenessProbe.repository }}:{{ .Values.image.livenessProbe.tag }}" +{{- end }} + command: + - "livenessprobe.exe" + args: + - "--csi-address=$(CSI_ENDPOINT)" + - "--probe-timeout=3s" + - "--health-port={{ .Values.node.livenessProbe.healthPort }}" + - "--v=2" + env: + - name: CSI_ENDPOINT + value: unix://C:\\var\\lib\\kubelet\\plugins\\{{ .Values.driver.name }}\\csi.sock + imagePullPolicy: {{ .Values.image.livenessProbe.pullPolicy }} + - name: node-driver-registrar +{{- if hasPrefix "/" .Values.image.nodeDriverRegistrar.repository }} + image: "{{ .Values.image.baseRepo }}{{ .Values.image.nodeDriverRegistrar.repository }}:{{ .Values.image.nodeDriverRegistrar.tag }}" +{{- else }} + image: "{{ .Values.image.nodeDriverRegistrar.repository }}:{{ .Values.image.nodeDriverRegistrar.tag }}" +{{- end }} + command: + - "csi-node-driver-registrar.exe" + args: + - "--v=2" + - "--csi-address=$(CSI_ENDPOINT)" + - "--kubelet-registration-path=$(DRIVER_REG_SOCK_PATH)" + - "--plugin-registration-path=$(PLUGIN_REG_DIR)" + livenessProbe: + exec: + command: + - csi-node-driver-registrar.exe + - --kubelet-registration-path=$(DRIVER_REG_SOCK_PATH) + - --mode=kubelet-registration-probe + initialDelaySeconds: 60 + timeoutSeconds: 30 + env: + - name: CSI_ENDPOINT + value: unix://C:\\var\\lib\\kubelet\\plugins\\{{ .Values.driver.name }}\\csi.sock + - name: DRIVER_REG_SOCK_PATH + value: C:\\var\\lib\\kubelet\\plugins\\{{ .Values.driver.name }}\\csi.sock + - name: PLUGIN_REG_DIR + value: C:\\var\\lib\\kubelet\\plugins_registry\\ + - name: KUBE_NODE_NAME + valueFrom: + fieldRef: + fieldPath: spec.nodeName + imagePullPolicy: {{ .Values.image.nodeDriverRegistrar.pullPolicy }} + - name: azuredisk +{{- if hasPrefix "/" .Values.image.azuredisk.repository }} + image: "{{ .Values.image.baseRepo }}{{ .Values.image.azuredisk.repository }}:{{ .Values.image.azuredisk.tag }}" +{{- else }} + image: "{{ .Values.image.azuredisk.repository }}:{{ .Values.image.azuredisk.tag }}" +{{- end }} + command: + - "azurediskplugin.exe" + args: + - "--v={{ .Values.node.logLevel }}" + - "--endpoint=$(CSI_ENDPOINT)" + - "--nodeid=$(KUBE_NODE_NAME)" + - "--metrics-address=0.0.0.0:{{ .Values.node.metricsPort }}" + - "--drivername={{ .Values.driver.name }}" + - "--volume-attach-limit={{ .Values.driver.volumeAttachLimit }}" + - "--cloud-config-secret-name={{ .Values.node.cloudConfigSecretName }}" + - "--cloud-config-secret-namespace={{ .Values.node.cloudConfigSecretNamespace }}" + - "--custom-user-agent={{ .Values.driver.customUserAgent }}" + - "--user-agent-suffix={{ .Values.driver.userAgentSuffix }}" + - "--allow-empty-cloud-config={{ .Values.node.allowEmptyCloudConfig }}" + - "--support-zone={{ .Values.node.supportZone }}" + ports: + - containerPort: {{ .Values.node.livenessProbe.healthPort }} + name: healthz + protocol: TCP + livenessProbe: + failureThreshold: 5 + httpGet: + path: /healthz + port: healthz + initialDelaySeconds: 30 + timeoutSeconds: 10 + periodSeconds: 30 + env: + - name: AZURE_CREDENTIAL_FILE + valueFrom: + configMapKeyRef: + name: azure-cred-file + key: path-windows + optional: true + - name: CSI_ENDPOINT + value: unix://C:\\var\\lib\\kubelet\\plugins\\{{ .Values.driver.name }}\\csi.sock + - name: KUBE_NODE_NAME + valueFrom: + fieldRef: + apiVersion: v1 + fieldPath: spec.nodeName + - name: AZURE_GO_SDK_LOG_LEVEL + value: {{ .Values.driver.azureGoSDKLogLevel }} + {{- if eq .Values.cloud "AzureStackCloud" }} + - name: AZURE_ENVIRONMENT_FILEPATH + value: C:\k\azurestackcloud.json + {{- end }} + imagePullPolicy: {{ .Values.image.azuredisk.pullPolicy }} +{{- end -}} diff --git a/charts/latest/azuredisk-csi-driver/templates/csi-azuredisk-node-windows.yaml b/charts/latest/azuredisk-csi-driver/templates/csi-azuredisk-node-windows.yaml index 1868691aaa..6c3d4f2119 100644 --- a/charts/latest/azuredisk-csi-driver/templates/csi-azuredisk-node-windows.yaml +++ b/charts/latest/azuredisk-csi-driver/templates/csi-azuredisk-node-windows.yaml @@ -1,4 +1,4 @@ -{{- if .Values.windows.enabled}} +{{- if and (.Values.windows.enabled) (ne .Values.windows.useHostProcessContainers true) }} kind: DaemonSet apiVersion: apps/v1 metadata: diff --git a/charts/latest/azuredisk-csi-driver/values.yaml b/charts/latest/azuredisk-csi-driver/values.yaml index 3d6877c2f4..f039bd238f 100644 --- a/charts/latest/azuredisk-csi-driver/values.yaml +++ b/charts/latest/azuredisk-csi-driver/values.yaml @@ -56,6 +56,9 @@ controller: - key: "node-role.kubernetes.io/controlplane" operator: "Exists" effect: "NoSchedule" + - key: "node-role.kubernetes.io/control-plane" + operator: "Exists" + effect: "NoSchedule" hostNetwork: true # this setting could be disabled if controller does not depend on MSI setting podLabels: {} resources: @@ -218,6 +221,7 @@ windows: requests: cpu: 10m memory: 40Mi + useHostProcessContainers: false cloud: AzurePublicCloud diff --git a/deploy/csi-azuredisk-controller.yaml b/deploy/csi-azuredisk-controller.yaml index a0c030057e..961c83a401 100644 --- a/deploy/csi-azuredisk-controller.yaml +++ b/deploy/csi-azuredisk-controller.yaml @@ -26,6 +26,9 @@ spec: - key: "node-role.kubernetes.io/controlplane" operator: "Exists" effect: "NoSchedule" + - key: "node-role.kubernetes.io/control-plane" + operator: "Exists" + effect: "NoSchedule" containers: - name: csi-provisioner image: mcr.microsoft.com/oss/kubernetes-csi/csi-provisioner:v3.1.0 diff --git a/deploy/csi-azuredisk-node-windows-hostprocess.yaml b/deploy/csi-azuredisk-node-windows-hostprocess.yaml new file mode 100644 index 0000000000..6c4b6300ef --- /dev/null +++ b/deploy/csi-azuredisk-node-windows-hostprocess.yaml @@ -0,0 +1,132 @@ +--- +kind: DaemonSet +apiVersion: apps/v1 +metadata: + name: csi-azuredisk-node-win + namespace: kube-system +spec: + updateStrategy: + rollingUpdate: + maxUnavailable: 1 + type: RollingUpdate + selector: + matchLabels: + app: csi-azuredisk-node-win + template: + metadata: + labels: + app: csi-azuredisk-node-win + spec: + serviceAccountName: csi-azuredisk-node-sa + tolerations: + - key: "node.kubernetes.io/os" + operator: "Exists" + effect: "NoSchedule" + nodeSelector: + kubernetes.io/os: windows + affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: type + operator: NotIn + values: + - virtual-kubelet + priorityClassName: system-node-critical + securityContext: + windowsOptions: + hostProcess: true + runAsUserName: "NT AUTHORITY\\SYSTEM" + hostNetwork: true + initContainers: + - name: init + image: mcr.microsoft.com/k8s/csi/azuredisk-csi:latest + imagePullPolicy: IfNotPresent + command: + - "powershell.exe" + - "-c" + - "New-Item" + - "-ItemType" + - "Directory" + - "-Path" + - "C:\\var\\lib\\kubelet\\plugins\\disk.csi.azure.com\\" + - "-Force" + containers: + - name: liveness-probe + image: mcr.microsoft.com/oss/kubernetes-csi/livenessprobe:v2.5.0 + command: + - "livenessprobe.exe" + args: + - "--csi-address=$(CSI_ENDPOINT)" + - "--probe-timeout=3s" + - "--health-port=29603" + - "--v=2" + env: + - name: CSI_ENDPOINT + value: unix://C:\\var\\lib\\kubelet\\plugins\\disk.csi.azure.com\\csi.sock + - name: node-driver-registrar + image: mcr.microsoft.com/oss/kubernetes-csi/csi-node-driver-registrar:v2.4.0 + command: + - "csi-node-driver-registrar.exe" + args: + - "--v=2" + - "--csi-address=$(CSI_ENDPOINT)" + - "--kubelet-registration-path=$(DRIVER_REG_SOCK_PATH)" + - "--plugin-registration-path=$(PLUGIN_REG_DIR)" + livenessProbe: + exec: + command: + - csi-node-driver-registrar.exe + - --kubelet-registration-path=$(DRIVER_REG_SOCK_PATH) + - --mode=kubelet-registration-probe + initialDelaySeconds: 60 + timeoutSeconds: 30 + env: + - name: CSI_ENDPOINT + value: unix://C:\\var\\lib\\kubelet\\plugins\\disk.csi.azure.com\\csi.sock + - name: DRIVER_REG_SOCK_PATH + value: C:\\var\\lib\\kubelet\\plugins\\disk.csi.azure.com\\csi.sock + - name: PLUGIN_REG_DIR + value: C:\\var\\lib\\kubelet\\plugins_registry\\ + - name: KUBE_NODE_NAME + valueFrom: + fieldRef: + fieldPath: spec.nodeName + - name: azuredisk + image: mcr.microsoft.com/k8s/csi/azuredisk-csi:latest + imagePullPolicy: IfNotPresent + command: + - "azurediskplugin.exe" + args: + - "--v=5" + - "--endpoint=$(CSI_ENDPOINT)" + - "--nodeid=$(KUBE_NODE_NAME)" + - "--metrics-address=0.0.0.0:29605" + - "--allow-empty-cloud-config=true" + ports: + - containerPort: 29603 + name: healthz + protocol: TCP + livenessProbe: + failureThreshold: 5 + httpGet: + path: /healthz + port: healthz + initialDelaySeconds: 30 + timeoutSeconds: 10 + periodSeconds: 30 + env: + - name: AZURE_CREDENTIAL_FILE + valueFrom: + configMapKeyRef: + name: azure-cred-file + key: path-windows + optional: true + - name: CSI_ENDPOINT + value: unix://C:\\var\\lib\\kubelet\\plugins\\disk.csi.azure.com\\csi.sock + - name: KUBE_NODE_NAME + valueFrom: + fieldRef: + apiVersion: v1 + fieldPath: spec.nodeName diff --git a/deploy/install-driver.sh b/deploy/install-driver.sh index d18b0734e3..86db17ac45 100755 --- a/deploy/install-driver.sh +++ b/deploy/install-driver.sh @@ -39,7 +39,11 @@ kubectl apply -f $repo/csi-azuredisk-driver.yaml kubectl apply -f $repo/rbac-csi-azuredisk-controller.yaml kubectl apply -f $repo/rbac-csi-azuredisk-node.yaml kubectl apply -f $repo/csi-azuredisk-node.yaml -kubectl apply -f $repo/csi-azuredisk-node-windows.yaml +if [[ "${WINDOWS_USE_HOST_PROCESS_CONTAINERS:=false}" == "true" ]]; then + kubectl apply -f $repo/csi-azuredisk-node-windows-hostprocess.yaml +else + kubectl apply -f $repo/csi-azuredisk-node-windows.yaml +fi kubectl apply -f $repo/csi-azuredisk-controller.yaml if [[ $ver == "v2"* ]]; then diff --git a/deploy/uninstall-driver.sh b/deploy/uninstall-driver.sh index df11f60c78..59ec78e01a 100755 --- a/deploy/uninstall-driver.sh +++ b/deploy/uninstall-driver.sh @@ -47,7 +47,11 @@ fi kubectl delete -f $repo/csi-snapshot-controller.yaml --ignore-not-found kubectl delete -f $repo/csi-azuredisk-controller.yaml --ignore-not-found kubectl delete -f $repo/csi-azuredisk-node.yaml --ignore-not-found -kubectl delete -f $repo/csi-azuredisk-node-windows.yaml --ignore-not-found +if [[ "${WINDOWS_USE_HOST_PROCESS_CONTAINERS:=false}" == "true" ]]; then + kubectl delete -f $repo/csi-azuredisk-node-windows-hostprocess.yaml --ignore-not-found +else + kubectl delete -f $repo/csi-azuredisk-node-windows.yaml --ignore-not-found +fi kubectl delete -f $repo/csi-azuredisk-driver.yaml --ignore-not-found kubectl delete -f $repo/crd-csi-snapshot.yaml --ignore-not-found kubectl delete -f $repo/rbac-csi-snapshot-controller.yaml --ignore-not-found