如何在本地访问只能从 Kubernetes 集群访问的数据库?

时间:2021-02-03 08:26:39

标签: postgresql kubernetes

我有一个 Kubernetes 集群可以访问 Postgres 实例(不在 Kubernetes 集群中运行)的情况。 Postgres 实例无法从其他任何地方访问。

我想做的是在本地连接我的数据库工具。我发现的是 kubectl port-forward 但我认为如果 Postgres 实例作为 pod 运行,这只是一个解决方案。我基本上需要的是一个 Pod,它将端口 8432 上发送的所有内容转发到 postgres 实例,然后我可以使用端口转发。

https://kubernetes.io/docs/tasks/access-application-cluster/port-forward-access-application-cluster/

这样做的正确方法是什么?

2 个答案:

答案 0 :(得分:2)

您可以为您的 postgresql 实例创建服务:

---
apiVersion: v1
kind: Service
metadata:
  name: postgresql
spec:
  ports:
    - port: 5432

---
apiVersion: v1
kind: Endpoints
metadata:
  name: postgresql
subsets:
  - addresses:
      - ip: ipAddressOfYourPGInstance
    ports:
      - port: 5432

然后使用: kubectl port-forward service/postgresql 5432:5432

答案 1 :(得分:0)

您可以使用 Postgres 客户端连接 Postgres 实例并使用入口公开该 pod,您可以通过 URL 访问 UI。

对于 Postgres 客户端,您可以使用:https://hub.docker.com/r/dpage/pgadmin4/

您可以将其设置为 pgclient 并使用它