我有一种情况,我有一个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/
正确的方法是什么?
您可以为您的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
您可以使用Postgres客户端连接到Postgres实例,并使用入口暴露该pod,您可以通过URL访问UI。
对于Postgres客户端,可以使用:https://hub.docker.com/r/dpage/pgadmin4/您可以将其设置为pgclient并使用它