【发布时间】:2020-08-10 06:11:37
【问题描述】:
我们使用安装了 HAProxy Ingress 的 kubernetes 集群。我们想在 kubernetes 集群之外公开 RabbitMQ。这怎么可能?
要求:这是一个基于 OpenShift 的共享 k8s 集群,其中暴露服务的唯一方法是使用入口。
- Management-UI 提供基本的 REST 端点,不应用于大量数据
- STOMP-Websockets 看起来真的没有维护。不仅是协议,还有客户端库
- MQTT-Websockets 看起来不像 STOMP 那样糟糕,但也不是很面向未来
- 拥有 REST 服务可能需要大量工作
- AMQP 无法通过 HAProxy 公开
我无法想象我们是第一个需要连接到托管在 Kubernetes 中的 RabbitMQ 的人?!?
客户端需要基于.net
【问题讨论】:
-
您是在询问有关连接到 RabbitMQ 服务的包的建议,还是如何从 docker 容器中公开 RabbitMQ 服务?
-
我们希望将 RabbitMQ 暴露在 kubernetes 集群之外。这怎么可能?最佳实践。
-
使用 docker 文档 here 中描述的端口映射。基本上,RabbitMQ 默认侦听端口 5672,但您可以将其映射到任何外部端口。另外,如果您的问题是关于如何公开 RabbitMQ,那么为什么要声明/询问您肯定不是第一个,并且客户端需要基于 .NET
-
可以,但是除了 HTTP 协议之外,kubernetes 不会暴露 TCP/UDP 流量
-
Kubernetes 不公开任何东西,它编排各个 docker 容器,容器本身公开 TCP/UDP 端口。但是,您可以使用容器规范的
containerPort选项配置要向 Kubernetes 公开的端口
标签: c# .net kubernetes rabbitmq