我打算运行一个 SSIS ETL 作业,它有一个 sql server 作为 SOURCE db ,这是在物理本地机器上,并且 DESTINATION db (postegres/patroni) 作为 pod/containers 在 Openshift 平台上运行。我现在面临的问题是,托管在 openshift 上的数据库无法通过 tcp 端口公开。根据网上的几篇文章,openshift 只允许通过“路由”进行 HTTP 流量。这个假设正确吗?如果是,那么在现实世界中人们如何从外部运行 ETL 或批量数据传输或迁移到 openshift 上的数据库。我担心使用 HTTP,因为我觉得它对 ETL 效率不高。很少有人提到喜欢使用 OC PORT FORWARDING。但是对于一个生产应用程序,一个开放的班次端口转发如何稳定呢?请提出您的意见
问问题
41 次
1 回答
1
在生产环境中,如果你想将你的数据库暴露给公共互联网,这是有点问题的。通常,您可能更愿意使用站点到站点 VPN。
撇开这一点,OCProutes
用于大多数用例是正确的,这些用例随后会暴露一个 http(s) 端点。但是,如果您需要纯 TCP,则可以创建一个service
.loadbalancer
带有 a 的常规设置route
堆叠起来像
route
--> service
-->pods
服务的类型通常是clusterIP
.
使用负载均衡器类型的服务,您可以消除route
并直接公开 TCP 服务。
如果您在公共云上运行,OCP 会为您处理剩余的需求。即使用您的云提供商创建一个负载均衡器。以 AWS 为例,OCP 会为您创建一个 ELB(弹性负载均衡器)。
您可以在文档中找到更多信息
于 2022-02-11T10:14:42.373 回答