apiVersion: apps/v1 kind: Deployment metadata: # This name uniquely identifies the Deployment name: minio-deployment spec: selector: matchLabels: app: minio # has to match .spec.template.metadata.labels strategy: type: Recreate template: metadata: labels: # Label is used as selector in the service. app: minio spec: # Refer to the secret created earlier volumes: - name: gcs-credentials secret: # Name of the Secret created earlier secretName: gcs-credentials containers: - name: minio # Pulls the default Minio image from Docker Hub image: minio/minio:RELEASE.2020-02-07T04-56-50Z args: - gateway - gcs - gcp_project_id env: # MinIO access key and secret key - name: MINIO_ACCESS_KEY value: "minio" - name: MINIO_SECRET_KEY value: "minio123" # Google Cloud Service uses this variable - name: GOOGLE_APPLICATION_CREDENTIALS value: "/etc/credentials/application_default_credentials.json" ports: - containerPort: 9000 # Mount the volume into the pod volumeMounts: - name: gcs-credentials mountPath: "/etc/credentials" readOnly: true