我正在尝试通过许多教程和文档将我的node.js后端连接到同一项目上的Cloud SQL,但没有成功。
这是我的服务和端点配置:
kind: Service
apiVersion: v1
metadata:
name: mysql-service
spec:
type: ClusterIP
ports:
- protocol: TCP
port: 3306
targetPort: 3306
---
kind: Endpoints
apiVersion: v1
metadata:
name: mysql-service
subsets:
- addresses:
- ip: 10.78.176.3
ports:
- port: 3306
我站在node.js一边:
process.DB_HOST 10.78.176.3
process.DB_DATABASE marketplace_test
MySQL Connection pool error
connect ETIMEDOUT
我已经尝试通过mysql-service名称通过公共IP和私有IP进行连接,但是没有任何效果。
是否可能缺少某种联系,例如matchLabels
?我应该匹配服务+端点+部署吗?怎么样?
我必须为此使用代理吗?
我缺少什么?
感谢所有帮助!
答案 0 :(得分:1)
如果要通过专用IP连接,则需要确保满足GKE群集上的environment requirements。这意味着它必须是VPC-native cluster。如果不是,则需要使用公共IP。
如果使用公共IP,则需要验证连接。可以通过以下三种主要方法进行操作: