具有 haproxy-ingress 和 SSL 终止的 Vernemq 端口 1883

Vernemq port 1883 with haproxy-ingress and also SSL termination

我正在尝试在 kubernetes 上部署 vernemq,并希望通过带有 ssl 的子域访问它,但是在请求转到端口 1883 上的 vernemq 之前,应该终止 ssl。

使用以下内容创建文件 haproxy-ingress-values.yaml

controller:
  tcp:
    "1883": "default/vernemq:1883:::default/mqtt-tls"

default/vernemq:1883vernemq 的服务,端口为 1883,default/mqtt-tls 是您要终止的 mqtt 的 tls 秘密。

然后使用以下命令升级您的haproxy-ingress

helm upgrade haproxy-ingress haproxy-ingress/haproxy-ingress --create-namespace --namespace ingress-controller --version 0.13.4 -f haproxy-ingress-values.yaml

如果是全新安装 haproxy-ingress,只需将 upgrade 替换为 install

然后最后部署以下ingress

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: vernemq-ingress
  annotations:
    kubernetes.io/ingress.class: haproxy
    ingress.kubernetes.io/tcp-service-port: "1883"
spec:
  rules:
    - http:
        paths:
          - path: /
            pathType: ImplementationSpecific
            backend:
              service:
                name: vernemq
                port:
                  number: 1883