I'm trying to deploy vernemq on kubernetes and want to access it with subdomain with ssl but ssl should be terminated before request go to vernemq on port 1883.
CodePudding user response:
create file haproxy-ingress-values.yaml with following content
controller:
tcp:
"1883": "default/vernemq:1883:::default/mqtt-tls"
default/vernemq:1883 is service of vernemq with port 1883 and default/mqtt-tls is tls secret for mqtt which you want terminate.
then use the following command to upgrade your haproxy-ingress
helm upgrade haproxy-ingress haproxy-ingress/haproxy-ingress --create-namespace --namespace ingress-controller --version 0.13.4 -f haproxy-ingress-values.yaml
just replace upgrade with install if fresh installing haproxy-ingress.
Then at last deploy the following 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
