将Kubernetes上运行的node.js连接到云Sql
我正在尝试将node.js后端连接到同一项目上的云SQL,完成了许多教程和文档,但没有成功 这里是我的服务和端点配置:将Kubernetes上运行的node.js连接到云Sql,kubernetes,google-cloud-platform,google-cloud-sql,Kubernetes,Google Cloud Platform,Google Cloud Sql,我正在尝试将node.js后端连接到同一项目上的云SQL,完成了许多教程和文档,但没有成功 这里是我的服务和端点配置: kind: Service apiVersion: v1 metadata: name: mysql-service spec: type: ClusterIP ports: - protocol: TCP port: 3306 targetPort: 3306 --- kind: Endpoints apiVersion: v1 metadat
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
我已经尝试通过公共IP和私有IP,通过“mysql服务”名称进行连接,但没有任何效果
可能是我缺少的某种关系,比如匹配标签
?我应该匹配服务+端点+部署吗?怎样
我必须为此使用代理吗
我错过了什么
谢谢你的帮助 如果您是通过专用IP连接,则需要确保满足GKE群集上的要求。这意味着,它需要是一个。如果不是,则需要使用公共IP 如果您使用的是公共IP,则需要验证您的连接。有三种主要方法可以做到这一点:
- -这将使用IAM角色对连接进行身份验证
- -您可以在实例上创建一个,并与客户端共享
- -这是最方便但最不安全的李>
curl-v10.78.176.3:3306
显示它可以连接。它连接起来了。正在从ssh实例运行。。会发生什么?从k8s或您的计算机进行Ssh?卷发怎么样service@Amityo从GCP上的实例。卷边连接内部ip。公用IP和服务名称未连接。然后,实例可以访问内部ip和端口。。。为什么pod没有连接?你能写出kubectl描述mysql服务的输出吗?