[英]Cert-Manager is not issuing any certificates Google Cloud Kubernetes
[英]cert-manager issuing too many same certificates when a multi-domains ingress is updated
我们将 kube.netes 与入口、证书管理器 (v1.9.1) 和 letsencrypt 颁发者一起使用。 我们的用例如下:我们有一个包含 3 个服务的多租户解决方案,允许人们更改他们的域名(每个服务 1 个)。 每当有人更改域名时,都会触发与服务相关的入口更新。 此更新触发证书管理器生成新订单。
我们遇到两个问题:
在我们的用例中避免这些问题的最佳策略是什么? (也许我们必须通过域名创建一个入口?或者有没有一种方法可以通过证书创建一个订单,而不是在入口更新时触发现有证书的重新生成?)
--- 编辑 ---
这是入口(带有 {hidden} 字段并为隐私重命名):
kind: Ingress
apiVersion: extensions/v1beta1
metadata:
name: server-ingress
namespace: {hidden}
annotations:
cert-manager.io/issuer: letsencrypt-prod
spec:
ingressClassName: nginx
tls:
- hosts:
- test1.customer-domain.fr
- test1.our-company.com
- test2.our-company.com
secretName: our-company-server-tls
rules:
- host: test1.customer-domain.fr
http:
paths:
- path: /
pathType: Prefix
backend:
serviceName: server-v3-24-5
servicePort: 8080
- host: test1.our-company.com
http:
paths:
- path: /
pathType: Prefix
backend:
serviceName: server-v3-24-5
servicePort: 8080
- host: test2.our-company.com
http:
paths:
- path: /
pathType: Prefix
backend:
serviceName: server-v3-24-5
servicePort: 8080
status:
loadBalancer:
ingress:
- ip: {hidden}
谢谢,
创建的订单似乎从入口重新生成所有 letsencrypt 证书,而不仅仅是更改的
根据讨论,这是因为您对所有入口使用相同的秘密名称,您需要为入口中 TLS 中的每个主机使用不同的秘密名称,这样就不会重新创建所有证书顺序。
所以这应该有效,
tls:
- secretName: test1.customer-domain.fr
hosts:
- test1.customer-domain.fr
- secretName: test1.our-company.com
hosts:
- test1.our-company.com
rules:
- host: test1.customer-domain.fr
http:
paths:
- path: /
pathType: Prefix
backend:
serviceName: server-v3-24-5
servicePort: 8080
- host: test1.our-company.com
http:
paths:
- path: /
pathType: Prefix
backend:
serviceName: server-v3-24-5
servicePort: 8080
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.