Контроллер HAProxy Ingress и Let's Encrypt
Я пытаюсь использовать контроллер HAProxy Ingress с Let's Encrypt для SSL на GKE. Но я думаю, что HAProxy не поддерживает Let's Encrypt. Вот шаги, которые я сделал. 1. Создан HAProxy Ingress Controller 2. Создан Cert Manager и Cluster Issuer 3. Создание Ingress-ресурса.
Обычно ресурс Ingress создает балансировщик нагрузки L7 HTTP(S). Но поскольку я попросил ресурс Ingress получить сертификат SSL с помощью Let's Encrypt, он не может установить сертификат на балансировщик нагрузки, поскольку LB еще не создан.
Я понимаю, что NGINX Ingress Controller - еще один вариант. Но NGINX создает балансировщик нагрузки L4.
Есть ли выход с HAProxy Ingress Controller? Или мне следует перейти на контроллер входящего трафика Voyager, поддерживаемый HAProxy?
Ресурс Ingress
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: fanout-ingress-haproxy
namespace: xyz-product
labels: # Labels that will be applied to this resource
app: prod-user-reg-app
annotations:
kubernetes.io/ingress.global-static-ip-name: prod-reg-static-ip #Defined in GCP platform. A Static IP needs to be created in the GCP.
# ingress.kubernetes.io/force-ssl-redirect: "true"
haproxy.org/ingress.class: "haproxy"
haproxy.org/load-balance: "leastconn" #roundrobin
haproxy.org/forwarded-for: "enabled"
# haproxy.org/ssl-certificate: "xyz-product/prod-tls-secret"
# haproxy.org/ssl-redirect: "ON"
# haproxy.org/ssl-redirect-code: "303"
cert-manager.io/cluster-issuer: letsencrypt-staging
spec:
tls:
- hosts:
- apps.mydomain.co.uk
secretName: staging-issuer-account-key
rules:
- host: apps.mydomain.co.uk
http:
paths:
- path: /user-reg/create/*
backend:
serviceName: prod-user-reg-create-app
servicePort: 8081