I'm using Mac m1 machine and I wanted to upgrade to v 1.31.0 which make cloud-proxy ARM friendly. Here is a sample of my proxy file(which was working fine with the previous cloudsql-proxy versions)
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: db-proxy
name: db-proxy
spec:
replicas: 1
selector:
matchLabels:
app: db-proxy
strategy:
rollingUpdate:
maxSurge: 1
maxUnavailable: 0
type: RollingUpdate
template:
metadata:
labels:
app: db-proxy
name: db-proxy
spec:
containers:
- command:
- /cloud_sql_proxy
- --dir=/cloudsql
- -instances= ...some instances here
- -credential_file=...file path
image: gcr.io/cloudsql-docker/gce-proxy:1.31.0
imagePullPolicy: IfNotPresent
name: cloudsql-proxy
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
volumeMounts:
- mountPath: /credentials
name: db-proxy-credentials
readOnly: true
- mountPath: /etc/ssl/certs
name: ssl-certs
- mountPath: /cloudsql
name: cloudsql
dnsPolicy: ClusterFirst
restartPolicy: Always
terminationGracePeriodSeconds: 30
volumes:
- name: db-proxy-credentials
hostPath:
path: ...
type: Directory
- hostPath:
path: /etc/ssl/certs
type: ""
name: ssl-certs
- emptyDir: {}
name: cloudsql
And this is the error that i'm getting while starting the pod
googleapi: Error 404: The Cloud SQL instance does not exist., instanceDoesNotExist
404 error appears because of the wrong naming of the Cloud SQL instances or if the instance doesn't exist. The older version of Cloud SQL Auth proxy doesn't crash the pod if the instance is not there, but the latest version does and hence the error. @Omar Ahmed confirmed the issue was solved by reviewing the instance names.