【发布时间】:2016-11-11 10:26:48
【问题描述】:
我很难从运行在 Google Container Engine 实例中的 Java 应用连接到 Cloud SQL 实例。
我从 CloudSQL 的访问控制中将外部实例 IP 列入白名单。从我的本地机器连接效果很好,但是我还没有设法从我的应用程序建立连接。
我将容器配置为 (cloud-deployment.yaml):
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: APPNAME
spec:
replicas: 1
template:
metadata:
labels:
app: APPNAME
spec:
imagePullSecrets:
- name: APPNAME.com
containers:
- image: index.docker.io/SOMEUSER/APPNAME:latest
name: web
env:
- name: MYQL_ENV_DB_HOST
value: 111.111.111.111 # the cloud sql instance ip
- name: MYQL_ENV_MYSQL_PASSWORD
value: THEPASSWORD
- name: MYQL_ENV_MYSQL_USER
value: THEUSER
ports:
- containerPort: 9000
name: APPNAME
使用连接urljdbc:mysql://111.111.111.111:3306/databaseName,导致:
Error while executing: Access denied for user 'root'@'ip adress of the instance' (using password: YES)`
我可以确认在 SQL 实例上设置了容器引擎外部 IP。
我暂时不想使用云代理映像,因为我仍处于开发阶段。
非常感谢任何帮助。
【问题讨论】:
-
该错误似乎表明您正在传递 root 密码,但它与实例上设置的 root 密码不匹配。
-
已经仔细检查过了,不过感谢您的回复
标签: kubernetes google-cloud-sql gcloud google-kubernetes-engine