You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置Traefik Ingress暴露K3s中RabbitMQ的多个服务端口

配置失效的核心问题
  • API版本过时:networking.k8s.io/v1beta1版本的Ingress在Kubernetes 1.19及以上版本已正式废弃,当前主流K3s版本默认使用networking.k8s.io/v1版本API,版本不兼容会直接导致配置无法被集群识别。
  • 路径规则冲突:两条转发规则都使用了path: /,同域名下相同路径无法同时转发到两个不同的服务端口,冲突的规则会被Ingress控制器直接忽略。
  • 协议不匹配:Ingress是专门用于HTTP/HTTPS七层流量转发的资源,而5672端口对应的AMQP服务是TCP协议的二进制流量,完全不兼容HTTP协议,不可能通过HTTP路径规则转发。
正确配置方案

你需要分开处理两个端口的暴露需求,提供两种常用实现方案:

方案一:Ingress(管理后台)+ Traefik TCP路由(AMQP服务)

适合需要用域名访问管理后台、不需要修改端口访问的场景,K3s默认集成的Traefik支持TCP路由CRD。

1. 管理后台Ingress配置(15672端口)

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: rabbitmq-admin-ingress
  namespace: rabbits
  annotations:
    kubernetes.io/ingress.class: "traefik"
spec:
  rules:
  # 可自定义主机名,提前将该域名解析到K3s节点IP即可
  - host: rabbitmq-manager.example.com
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: rabbitmq
            port:
              number: 15672

2. AMQP服务TCP路由配置(5672端口)

apiVersion: traefik.containo.us/v1alpha1
kind: IngressRouteTCP
metadata:
  name: rabbitmq-amqp-tcp
  namespace: rabbits
spec:
  entryPoints:
    # 可使用Traefik默认的websecure入口,也可单独为AMQP新增5672入口
    - websecure
  routes:
  # 若配置了TLS证书可填写对应的域名,无TLS则填*匹配所有请求
  - match: HostSNI(`*`)
    services:
    - name: rabbitmq
      port: 5672

方案二:直接使用NodePort Service暴露

配置更简单,不需要额外调整Ingress控制器配置,适合快速测试场景:

apiVersion: v1
kind: Service
metadata:
  name: rabbitmq-external
  namespace: rabbits
spec:
  type: NodePort
  selector:
    app.kubernetes.io/name: rabbitmq
  ports:
    # AMQP服务:访问K3s节点IP+30672即可连接
    - name: amqp
      port: 5672
      targetPort: 5672
      nodePort: 30672
    # 管理后台:访问K3s节点IP+31672即可打开页面
    - name: management
      port: 15672
      targetPort: 15672
      nodePort: 31672

nodePort取值范围为30000-32767,可根据需要自行调整未被占用的端口。

内容的提问来源于stack exchange,提问作者Ahmet Cetin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.14 03:09:01