从 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