如何为采用私有IP的Cloud SQL PostgreSQL部署Web可视化数据查看GUI?
针对你这种使用Cloud SQL PostgreSQL(私有IP)、通过Cloud SQL Proxy在K8s Pod中访问数据库的场景,我整理了几个优先基于Web的GUI工具,可以快速部署并满足数据查看需求:
pgAdmin 4(PostgreSQL官方Web GUI)
这是PostgreSQL生态里最常用的Web管理工具,功能完整,支持数据查看、查询执行、schema管理等。
部署到K8s时,可以把Cloud SQL Proxy作为sidecar容器和pgAdmin Pod一起运行,或者单独部署Proxy的Service。在pgAdmin的Web界面配置连接时,主机填localhost(sidecar模式)或者Proxy Service的名称,端口用5432,再填入Cloud SQL的数据库用户名、密码和数据库名即可。最后通过Ingress暴露pgAdmin的Web端口,就能在浏览器里访问管理了。Adminer(轻量级多数据库Web工具)
体积极小(镜像只有几MB),部署和启动都非常快,支持包括PostgreSQL在内的多种数据库。
同样可以配合Cloud SQL Proxy部署:在K8s Deployment里添加Proxy作为sidecar,Adminer的Web服务通过NodePort或Ingress暴露。访问Adminer界面后,选择PostgreSQL类型,主机填localhost,端口5432,输入数据库凭证就能快速连接查看数据。适合临时快速排查数据问题的场景。DBeaver Web
知名桌面工具DBeaver的Web版本,功能丰富,支持数据可视化、SQL编辑器、导出导入等进阶功能。
部署到K8s集群后,配置Cloud SQL Proxy的连接(同样推荐sidecar模式),在DBeaver Web中新建PostgreSQL连接,目标地址指向localhost:5432,填入Cloud SQL的数据库信息即可使用。它的界面和桌面版一致,上手成本低。
另外,如果你的团队已经有K8s dashboard类的工具,也可以考虑集成一些轻量的数据库Web插件,但上面几个工具都是独立成熟的方案,适配你的私有IP+Proxy的访问模式。
内容的提问来源于stack exchange,提问作者Harold L. Brown

