deploy/base/webhook/deployment.yaml (106 lines of code) (raw):

# Copyright 2018 The Kubernetes Authors. # Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. apiVersion: apps/v1 kind: Deployment metadata: name: gcs-fuse-csi-driver-webhook spec: replicas: 1 selector: matchLabels: app: gcs-fuse-csi-driver-webhook template: metadata: labels: app: gcs-fuse-csi-driver-webhook annotations: seccomp.security.alpha.kubernetes.io/pod: "runtime/default" spec: securityContext: runAsUser: 2079 runAsGroup: 2079 seccompProfile: type: RuntimeDefault priorityClassName: csi-gcp-gcs-webhook serviceAccount: gcsfusecsi-webhook-sa containers: - name: gcs-fuse-csi-driver-webhook securityContext: readOnlyRootFilesystem: true allowPrivilegeEscalation: false capabilities: drop: - ALL image: gke.gcr.io/gcs-fuse-csi-driver-webhook imagePullPolicy: IfNotPresent args: - --sidecar-cpu-limit=0 - --sidecar-cpu-request=250m - --sidecar-memory-limit=0 - --sidecar-memory-request=256Mi - --sidecar-ephemeral-storage-limit=0 - --sidecar-ephemeral-storage-request=5Gi - --sidecar-image=$(SIDECAR_IMAGE) - --metadata-sidecar-image=$(METADATA_SIDECAR_IMAGE) - --sidecar-image-pull-policy=$(SIDECAR_IMAGE_PULL_POLICY) - --cert-dir=/etc/tls-certs - --port=22030 - --health-probe-bind-address=:22031 - --should-inject-sa-vol=true env: - name: SIDECAR_IMAGE_PULL_POLICY value: "IfNotPresent" - name: SIDECAR_IMAGE valueFrom: configMapKeyRef: name: gcsfusecsi-image-config key: sidecar-image - name: METADATA_SIDECAR_IMAGE valueFrom: configMapKeyRef: name: gcsfusecsi-image-config key: metadata-sidecar-image resources: limits: cpu: 200m memory: 200Mi requests: cpu: 10m memory: 10Mi ports: - name: inject containerPort: 22030 - name: readyz containerPort: 22031 livenessProbe: httpGet: scheme: HTTP path: /readyz port: 22031 initialDelaySeconds: 30 periodSeconds: 30 timeoutSeconds: 15 volumeMounts: - name: gcs-fuse-csi-driver-webhook-certs mountPath: /etc/tls-certs readOnly: true volumes: - name: gcs-fuse-csi-driver-webhook-certs secret: secretName: gcs-fuse-csi-driver-webhook-secret --- apiVersion: v1 kind: Service metadata: name: gcs-fuse-csi-driver-webhook namespace: gcs-fuse-csi-driver spec: selector: app: gcs-fuse-csi-driver-webhook ports: - name: injector protocol: TCP port: 443 targetPort: 22030 - name: metrics protocol: TCP port: 8080 targetPort: 22032