title: Kubernetes: Unable to mount volumes for pod
body: <p>I have been following this guide - <a href="https://cloud.google.com/sql/docs/postgres/connect-kubernetes-engine" rel="nofollow noreferrer">Connecting from Kubernetes Engine</a></p>
  
  <p>And having an errors after all:</p>
  
  <pre><code>$ kubectl describe pod | grep Warning
    Warning  FailedMount            4m (x15 over 19m)  kubelet, gke-bar-dev-default-pool-a6045c50-dg5z  MountVolume.SetUp failed for volume "cloudsql-instance-credentials" : secrets "cloudsql-instance-credentials" not found
    Warning  FailedMount            3m (x7 over 17m)   kubelet, gke-bar-dev-default-pool-a6045c50-dg5z  Unable to mount volumes for pod "bar-dev-556d7c4f6f-5c2nx_default(9a06b84a-7dcb-11e8-bca8-42010a8e0060)": timeout expired waiting for volumes to attach/mount for pod "default"/"bar-dev-556d7c4f6f-5c2nx". list of unattached/unmounted volumes=[cloudsql-instance-credentials]
    Warning  Failed                 2m                 kubelet, gke-bar-dev-default-pool-a6045c50-dg5z  Error: secrets "cloudsql-db-credentials" not found
  </code></pre>
  
  <p>My deployment.yaml file:</p>
  
  <pre><code>apiVersion: apps/v1beta2
  kind: Deployment
  metadata:
    name: bar-dev
    labels:
      app: bar-dev
  spec:
    replicas: 1
    selector:
      matchLabels:
        app: bar-dev
    template:
      metadata:
        labels:
          app: bar-dev
      spec:
        containers:
          - name: nginx
            image: gcr.io/foo/bar-dev-nginx:v9
            ports:
            - containerPort: 80
            readinessProbe:
              httpGet:
                path: /health-check
                port: 80
              initialDelaySeconds: 10
              periodSeconds: 60
            env:
              - name: POSTGRES_DB_HOST
                value: 127.0.0.1:5432
              # [START cloudsql_secrets]
              - name: POSTGRES_DB_USER
                valueFrom:
                  secretKeyRef:
                    name: cloudsql-db-credentials
                    key: username
              - name: POSTGRES_DB_PASSWORD
                valueFrom:
                  secretKeyRef:
                    name: cloudsql-db-credentials
                    key: password
              # [END cloudsql_secrets]
          - name: php-fpm
            image: gcr.io/foo/bar-dev-php-fpm:v9
            ports:
              - containerPort: 9000
            env:
              - name: POSTGRES_DB_HOST
                value: 127.0.0.1:5432
              # [START cloudsql_secrets]
              - name: POSTGRES_DB_USER
                valueFrom:
                  secretKeyRef:
                    name: cloudsql-db-credentials
                    key: username
              - name: POSTGRES_DB_PASSWORD
                valueFrom:
                  secretKeyRef:
                    name: cloudsql-db-credentials
                    key: password
              # [END cloudsql_secrets]
          # [START proxy_container]
          - name: cloudsql-proxy
            image: gcr.io/cloudsql-docker/gce-proxy:1.11
            command: ["/cloud_sql_proxy",
                      "-instances=foo:us-east1:bar-dev=tcp:5432",
                      "-credential_file=/secrets/cloudsql/credentials.json"]
            volumeMounts:
              - name: cloudsql-instance-credentials
                mountPath: /secrets/cloudsql
                readOnly: true
          # [END proxy_container]
        volumes:
          - name: cloudsql-instance-credentials
            secret:
              secretName: cloudsql-instance-credentials
  </code></pre>
  
  <p>What is causing this issue and how to resolve it?</p>