我正试图在kubernetes上部署vernemq,并希望使用ssl通过子域访问它,但ssl应该在请求转到端口1883上的vernemq之前终止。
创建具有以下内容的文件haproxy-ingress-values.yaml
controller:
tcp:
"1883": "default/vernemq:1883:::default/mqtt-tls"
default/vernemq:1883
是端口为1883的vernemq
的服务,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
即可。
然后最后部署以下入口
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