我已经尝试了很多方法来寻找解决方案,但我无法找到解决方案。 我的根域位于 AWS
example.com
,我们位于混合云上。
我们有服务在 GKE 中运行。现在我们已经设置好了VPN
并且我们想通过我们已经完成的VPN访问网站。
现在,我们拥有的所有内部负载均衡器都可以使用 HTTP
通过 VPN
通过内部负载均衡器进行访问。现在我们要在内部负载均衡器、GCP 托管或 tls 之上添加证书
这是我创建 LB 的入口,但证书似乎无效,并且挑战未解决。 我可以使用什么方式将证书添加到内部负载均衡器?
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: "gce-internal"
kubernetes.io/ingress.regional-static-ip-name: something-internal
cert-manager.io/cluster-issuer: "letsencrypt"
kubernetes.io/tls-acme: "true"
acme.cert-manager.io/http01-edit-in-place: "true"
labels:
app.kubernetes.io/instance: name
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: name
helm.sh/chart: something-0.27.0
name: something-internal
namespace: vault
spec:
rules:
- host: something.internal.example.com
http:
paths:
- backend:
service:
name: service
port:
number: port
path: /
pathType: Prefix
tls:
- secretName: something-internal-tls
hosts:
- something.internal.example.com
内部 HTTP 负载目前不支持 Google 管理的 SSL 证书。您可以参考这个文档。
您实际上可以考虑使用 Google Cloud Secret Manager 来管理和存储 SSL 证书作为机密。
如果您确实想通过从证书颁发机构 (CA) 上传 SSL 证书来将 Google 管理的证书用于内部 HTTP(s) 负载均衡器配置,您也可以考虑此解决方法。请按照以下步骤操作:
使用或生成自签名证书或从 CA 获取的 SSL 证书。如果您更喜欢 CA,则必须遵循他们的指南/步骤来获取证书。
使用 GCP Console 或“gcloud”命令,转到内部 HTTP(S) 负载均衡器的配置。它可以选择上传 SSL 证书并输入其他详细信息(证书和私钥)。
使用您首选的后端服务和运行状况检查设置负载均衡器(内部 HTTP)。确保您的 SSL 设置配置为启用 HTTP(s) 流量。