无法通过具有 Workload Identity 的 GKE 连接到云 SQL 代理
Cannot connect to Cloud SQL Proxy through GKE with Workload Identity
我正在按照 Google 云平台的指南使用云 SQL 代理和 Public IP 地址通过 GKE 集群连接到云 SQL 实例( https://cloud.google.com/sql/docs/postgres/connect-kubernetes-engine)。但是,在尝试部署我的应用程序后,我在容器日志中收到以下错误。
{ Error: connect ECONNREFUSED 127.0.0.1:5432
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1107:14)
errno: 'ECONNREFUSED',
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 5432 }
后面是错误信息
2021/02/01 05:35:31 the default Compute Engine service account is not configured with sufficient permissions to access the Cloud SQL API from this VM. Please create a new VM with Cloud SQL access (scope) enabled under "Identity and API access". Alternatively, create a new "service account key" and specify it using the -credential_file parameter
此外(我假设相关)当我检查集群中节点的计算引擎时,我看到 Cloud SQL Cloud API 访问范围被禁用。有没有办法启用它?
我知道有多种方法可以通过 GKE 集群连接到云 SQL 实例,但是,我想通过凭证文件使用工作负载身份。
如果您不在 Compute Engine VM 上使用默认服务帐户,则无需使用 VM 范围。范围仅适用于计算引擎默认服务帐户,使用自定义服务帐户则不然。
如果您在集群上使用工作负载身份,则情况相同(因为使用的不是 Compute Engine 默认服务帐户,而是自定义帐户)。是的,比服务帐户密钥文件更喜欢这个。
我正在按照 Google 云平台的指南使用云 SQL 代理和 Public IP 地址通过 GKE 集群连接到云 SQL 实例( https://cloud.google.com/sql/docs/postgres/connect-kubernetes-engine)。但是,在尝试部署我的应用程序后,我在容器日志中收到以下错误。
{ Error: connect ECONNREFUSED 127.0.0.1:5432
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1107:14)
errno: 'ECONNREFUSED',
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 5432 }
后面是错误信息
2021/02/01 05:35:31 the default Compute Engine service account is not configured with sufficient permissions to access the Cloud SQL API from this VM. Please create a new VM with Cloud SQL access (scope) enabled under "Identity and API access". Alternatively, create a new "service account key" and specify it using the -credential_file parameter
此外(我假设相关)当我检查集群中节点的计算引擎时,我看到 Cloud SQL Cloud API 访问范围被禁用。有没有办法启用它?
我知道有多种方法可以通过 GKE 集群连接到云 SQL 实例,但是,我想通过凭证文件使用工作负载身份。
如果您不在 Compute Engine VM 上使用默认服务帐户,则无需使用 VM 范围。范围仅适用于计算引擎默认服务帐户,使用自定义服务帐户则不然。
如果您在集群上使用工作负载身份,则情况相同(因为使用的不是 Compute Engine 默认服务帐户,而是自定义帐户)。是的,比服务帐户密钥文件更喜欢这个。