使用 openshift 上公开的路由连接到 MySQL 数据库
Connect to MySQL database by using route exposed on openshift
我刚刚在 openshift 上公开了我的数据库,它给了我一个 'https://....' url
有谁知道如何通过使用 openshift 给我的 url 使用 DBeaver 进行连接。
dbeaver 对我说的错误如下
数据库 URL 格式错误,无法解析主要 URL 部分。
简答:你不能用Route
Route
只能暴露 http/https 流量
如果您想公开 tcp 流量(例如数据库),请不要创建 Route
并将您的Service
类型更改为“NodePort”`
检查我之前对此类问题的回答(在这种情况下公开 MQ):
NodePorts 上的 OpenShift 文档:https://docs.openshift.com/container-platform/4.7/networking/configuring_ingress_cluster_traffic/configuring-ingress-cluster-traffic-nodeport.html
还有另一种方法可以做到这一点。
如果您的 Route 设置为“passthrough”,它只会查看 SNI headers 以确定将流量路由到哪里,但不会解包(并期望内部有 http),这会让它通过其他流量通过 pod。
我使用这个机制 运行 SNI 后面的 ZNC bouncer(irc 流量)。
缺点是您需要在 pod 中提供自己的 TLS 证书,而不是利用 *.apps.(cluster).com 可用的通用证书
至于具体的错误,“Malformed database URL”,我没有使用过这个软件,但是通过快速网络搜索,你似乎想要重写 https://(appname)。( clustername).com 到 jdbc:.../hostname... 字符串中,然后在设置中启用 TLS。
我找到了这个关于如何设置它的页面,所以如果您还没有找到它可能会对您有所帮助 -- https://github.com/dbeaver/dbeaver/issues/9573
我刚刚在 openshift 上公开了我的数据库,它给了我一个 'https://....' url 有谁知道如何通过使用 openshift 给我的 url 使用 DBeaver 进行连接。 dbeaver 对我说的错误如下 数据库 URL 格式错误,无法解析主要 URL 部分。
简答:你不能用Route
Route
只能暴露 http/https 流量
如果您想公开 tcp 流量(例如数据库),请不要创建 Route
并将您的Service
类型更改为“NodePort”`
检查我之前对此类问题的回答(在这种情况下公开 MQ):
NodePorts 上的 OpenShift 文档:https://docs.openshift.com/container-platform/4.7/networking/configuring_ingress_cluster_traffic/configuring-ingress-cluster-traffic-nodeport.html
还有另一种方法可以做到这一点。
如果您的 Route 设置为“passthrough”,它只会查看 SNI headers 以确定将流量路由到哪里,但不会解包(并期望内部有 http),这会让它通过其他流量通过 pod。
我使用这个机制 运行 SNI 后面的 ZNC bouncer(irc 流量)。
缺点是您需要在 pod 中提供自己的 TLS 证书,而不是利用 *.apps.(cluster).com 可用的通用证书
至于具体的错误,“Malformed database URL”,我没有使用过这个软件,但是通过快速网络搜索,你似乎想要重写 https://(appname)。( clustername).com 到 jdbc:.../hostname... 字符串中,然后在设置中启用 TLS。
我找到了这个关于如何设置它的页面,所以如果您还没有找到它可能会对您有所帮助 -- https://github.com/dbeaver/dbeaver/issues/9573