【问题标题】:openshift origin latest - make mongodb accessible to external resourcesopenshift origin latest - 使外部资源可以访问 mongodb
【发布时间】:2016-03-10 21:33:01
【问题描述】:

我正在运行一个小型 openshift 集群,并希望为我们的开发人员提供一个托管的 mongo 实例,他们可以在其上连接到外部。

这很容易,我想。可悲的是,看起来所有流量都必须通过 haproxy,并且仅限于 http/https。但是我的开发人员需要透明地访问正确的 mongo 端口 27017。

有没有办法将内部 pod 端口暴露给外部世界,而不知道它在哪个 pod 上运行。

现在我们肮脏的解决方法是

oc 端口转发 mongodb-1-2n1ov 27017:27017

然后客户端会从那里的机器进行 ssh 转发。

相反,我们宁愿有一个自动化的解决方案,允许虚拟定义主机名的 tcp 转发。

谁能指点我正确的方向?

【问题讨论】:

  • 今天可以做一些工作(类似于下面提到的直接公开服务的解决方案)。您可以在网络中定义一个虚拟 cidr,该虚拟 cidr 被路由到您的路由器(或任何 HA 组 IP)。在这些主机上,服务代理将运行。对于要向边缘公开的每个服务,将其 externalIP 设置为虚拟 CIDR 中的一个 IP,并为该 externalIP 提供其自己的 DNS 名称。服务代理会将流量转移到 Pod。一个缺点 - 今天无法控制谁可以设置 externalIP 字段。
  • 是的,这里也一样。我想和 MySQL 一样。我认为像这样的端口转发的问题是你直接转发到一个 pod。恕我直言,理想情况下,我们会转发该服务。这样做的好处是能够在不知道与谁交谈的情况下使用 DB pod。您可以随心所欲地扩展。当然,您还需要解决粘滞会话的方法。
  • 我同意 dave 和 Clayton,谢谢,但我想我必须阅读更多内容。我主要是一名软件开发人员,很少修改系统管理。

标签: mongodb openshift-origin


【解决方案1】:

你是对的。我们也有类似的问题,我们认为唯一的其他方法是更新在我们的网络中可路由的 serviceCIDR。不过我们没有走那条路。 HAProxy 是 http/https..而服务确实支持 tcp/udp 并且 mongodb:27017 依赖于 UDP。 如果其他人可以分享,我也想了解更多。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-02-28
    • 1970-01-01
    • 2018-02-17
    • 1970-01-01
    • 2016-05-13
    • 2011-10-20
    • 2012-04-27
    • 1970-01-01
    相关资源
    最近更新 更多