google-kubernetes-engine - HAProxy 入口控制器和让我们加密
问题描述
我正在尝试将 HAProxy 入口控制器与 Let's Encrypt 一起用于 GKE 上的 SSL。但我认为 HAProxy 不支持 Let's Encrypt。这些是我做的步骤。1. 创建 HAProxy Ingress Controller 2. 创建 Cert Manager 和 Cluster Issuer 3. 创建 Ingress Resource
通常,Ingress 资源会创建 L7 HTTP(S) 负载均衡器。但是当我要求 Ingress 资源使用 Let's Encrypt 获取 SSL 证书时,它无法在负载均衡器上安装证书,因为尚未创建 LB。
我可以理解 NGINX Ingress Controller 是另一种选择。但是 NGINX,它创建了 L4 负载均衡器。
HAProxy Ingress Controller 有什么出路吗?或者我应该转移到由 HAProxy 支持的 Voyager Ingress Controller 吗?
入口资源
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
解决方案
推荐阅读
- c - 检查array1是否镜像array 2
- azure-devops - 步骤引用版本“1.152.3”的任务“InvokeRESTAPI”,这对于给定的作业目标无效
- wcf - 使用 c# 使用 WSDL 代理类
- python - read_excel() 在 pandas 1.1.5 的底层是如何工作的?
- python - 有和没有记忆的回溯算法的复杂性
- rust - 如何在未实现“Send”特性的第三方 crate 中使用“tokio::spawn”?
- javascript - 不和谐机器人——节点 index.js 问题——“客户端未定义”
- java - 连接到 MongoDB URI 时出错,即使我可以使用 compassdb 或机器人 t3 工具
- python - 处理 Python 分页 API 请求中的最后一页
- python - 如何修改存储在列表中的一列numpy数组