从 minikube 访问 localhost Postgres
Access to localhost Postgres from the minikube
我是 Kubernetes 的新手,我正在尝试在 minikube 中本地设置一个 Java-app。我希望它能够连接到本地托管的 Postgres 数据库,连接 URL 看起来像 jdbc:postgresql://localhost:5432/my_db
,而不是在 k8s 内部。这听起来很简单,但我就是找不到解决方案。你能给我一些关于在哪里看的建议吗?谢谢
顺便说一句,允许外部连接到数据库服务器
我的deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-app
spec:
replicas: 1
selector:
matchLabels:
app: my-app
template:
metadata:
name: my-app
labels:
app: my-app
spec:
containers:
- name: my-app
image: my-app-image
您应用中的本地主机将来自容器 pov,这与您的本地系统不同。选项 A 是在 K8s 中托管 postgres 并通过 kubernetes DNS 访问它,或者选项 B 是提供数据库所在系统的正确 IP 运行
看来,我找到了解决办法。 host.minikube.internal
正是我们在这种情况下可以使用的别名。在我的示例中,仅将 DB URI 引用到 jdbc:postgresql://host.minikube.internal:5432/my_db
就解决了问题。
更多信息here
我是 Kubernetes 的新手,我正在尝试在 minikube 中本地设置一个 Java-app。我希望它能够连接到本地托管的 Postgres 数据库,连接 URL 看起来像 jdbc:postgresql://localhost:5432/my_db
,而不是在 k8s 内部。这听起来很简单,但我就是找不到解决方案。你能给我一些关于在哪里看的建议吗?谢谢
顺便说一句,允许外部连接到数据库服务器
我的deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-app
spec:
replicas: 1
selector:
matchLabels:
app: my-app
template:
metadata:
name: my-app
labels:
app: my-app
spec:
containers:
- name: my-app
image: my-app-image
您应用中的本地主机将来自容器 pov,这与您的本地系统不同。选项 A 是在 K8s 中托管 postgres 并通过 kubernetes DNS 访问它,或者选项 B 是提供数据库所在系统的正确 IP 运行
看来,我找到了解决办法。 host.minikube.internal
正是我们在这种情况下可以使用的别名。在我的示例中,仅将 DB URI 引用到 jdbc:postgresql://host.minikube.internal:5432/my_db
就解决了问题。
更多信息here