首页 > 解决方案 > Kubernetes 上的 ActiveMQ 代理 URL

问题描述

我已经在 Kubernetes 上部署了我的 ActiveMQ,但是如何配置代理以使用端口 61616 连接队列?如果我使用 POD IP,那么它将不是静态 IP,并且每次 pod recreate 都会创建新 IP。无论如何获取静态 IP 或使用入口我们可以在端口 61616 上设置代理吗?

标签: kubernetesactivemqkubectl

解决方案


这是一个社区 Wiki 答案,因此请随时对其进行编辑并添加您认为重要的任何其他详细信息。

为了在外部或内部公开你在 Kubernetes 中的任何微服务,你有一个Service

正如David Maze在他的评论中所说:

应该有一个匹配的服务,它有一个已知的 DNS 名称;用那个。– 大卫迷宫昨天

您无需担心静态 IP。Services还分配了动态 IP,但它们提供了一种可靠的方式来Pods通过稳定的 DNS 名称访问您的后端。还可以查看官方码头中的此部分

在您的情况下,它足以创建一个简单的ClusterIP Service(这是默认Service类型)。它可能如下所示:

apiVersion: v1
kind: Service
metadata:
  name: my-service
spec:
  selector:
    app: MyApp
  ports:
    - protocol: TCP
      port: 61616
      targetPort: 61616

前提是您的应用程序正在侦听 TCP 端口61616,并且您希望Service公开与您的 ( ) 相同的端口port( Pods) targetPort


推荐阅读