java - 如何在 google kubernetes 中访问 postgresql pod/service
问题描述
我正在部署一个简单的 Web 应用程序。我将它分为 3 个 pod:前端、后端和 postgres db。我成功地将我的前端和后端部署到 google kubernetes 服务并且它们按预期工作。但是对于我的 postgresql 数据库服务器,我使用了以下 yamls。postgres 图像是我使用来自 dockerhub 的标准 postgres 图像创建的。我创建了一些表,插入了一些数据并推送到 DockerHub。我的后端无法连接到我的数据库。我想我可能需要更改我的 Java 连接代码。不确定是否使用 localhost。它在我的本地 Eclipse Jee 和 Tomcat 上没有任何问题。
//my pod.yaml
apiVersion: v1
kind: Pod
metadata:
name: postgres-app-pod
labels:
name: postgres-app-pod
app: demo-geo-app
spec:
containers:
- name: postgres
image: myrepo/example:v1
ports:
- containerPort: 5432
//my service.yaml
apiVersion: v1
kind: Service
metadata:
name: db
labels:
name: db-service
app: demo-geo-app
spec:
ports:
- port: 5432
targetPort: 5432
selector:
name: postgres-pod
app: demo-geo-app
//from my java backend, I access my db server this way.
String dbURL = "jdbc:postgresql://localhost:5432/Location?user=postgres&password=mysecretpassword";
解决方案
有两个问题需要解决。
- 服务选择器 key:value 应该与 pod 标签匹配
- 用 postgresql 服务 dns 替换 localhost
推荐阅读
- vb.net - 检查 vb.net 中的文件格式
- java-8 - 在 java 流中,map 函数无法识别我的局部变量
- ajax - 如何在yii2中通过pjax和非pjax保存表单?
- jquery - 使用 jquery 规则确认密码不起作用
- uwp - 在 UWP 中检测 Windows 10 S-Mode
- android - 尝试在 Windows 上执行本机应用程序时出错
- protractor - 如何在茉莉花框架(量角器)中使用无限循环?
- opencart - 从一个站点重定向到另一个站点
- html - bootstrap 4轮播相同高度,适用于不同图像尺寸和屏幕尺寸
- php - Zoho JSON 结果转换为 CSV 文件