Cercando di configurare OnlyOffice Document Server, mi sono imbattuto in un problema di Ingress-nginx. Siccome le soluzioni proposte non mi piacevano e non c’è niente di male ad avere più Classi di Ingress disponibili, ho provato HAproxy.
ATTENZIONE, siccome per comodità esistono almeno un paio di ingress basate su haproxy (più gli eventuali fork), tutti con nomi molto fantasiosi (</sarcasm>), il progetto a cui faccio riferimento è quello linkato nel paragrafo precedente.
Aggiungiamo il repo Helm:
helm repo add haproxytech https://haproxytech.github.io/helm-charts
e aggiorniamo
helm repo update
Quindi installiamo come LoadBalancer e specifichiamo il nome della classe: haproxy
helm install haproxy haproxytech/kubernetes-ingress \
--namespace
--set controller.ingressClass=haproxy \
--set controller.service.type=LoadBalancer \
L’utilizzo è simile a quella basata su nginx, avendo cura di specificare la ingressClassName.
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: ingress-office
namespace: office
spec:
ingressClassName: haproxy
rules:
- host: office.domain.local
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: office-service
port:
number: 80
Nel caso in cui il vostro backend richieda una connessione https (a prescindere dalla porta utilizzata), è sufficiente aggiungere questa annotation:
annotations:
ingress.kubernetes.io/server-ssl: 'true'