从cert-manager
文档:将注释cert-manager.io/cluster-issuer: acme-issuer
添加到Ingress
对象应触发填充程序,向此发行者请求证书,并存储证书(不带任何名称空间?)(使用哪个名称?)。
我尝试过此操作,但没有执行任何操作。向tls:
的yaml定义添加Ingress
部分确实会触发填充程序,请求证书并将其存储在与Ingress
相同的名称空间中。
这意味着文档不正确,或者如果没有tls:
部分,它是否应该真正起作用?
apiVersion: cert-manager.io/v1alpha2
kind: ClusterIssuer
metadata:
name: acme-issuer
spec:
acme:
email: [email protected]
server: https://acme-staging-v02.api.letsencrypt.org/directory
privateKeySecretRef:
name: example-issuer-account-key
solvers:
- http01:
ingress:
class: nginx
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
cert-manager.io/cluster-issuer: acme-issuer
kubernetes.io/ingress.class: nginx
name: my-ingress-name
namespace: mynamespace
spec:
rules:
- host: some.domain.eu
http:
paths:
- backend:
serviceName: my-service-name
servicePort: 5000
path: /
tls:
- hosts:
- some.domain.eu
secretName: secret-storage-key-for-tls-cert
如果您正确地创建了颁发者,那么您需要创建一个证书,以便颁发者可以使用证书资源中的信息来颁发证书,并填充机密:
我像您一样使用,创建了我的TLS,确定。但是privateKeySecretRef
的名称是原始的ClusterIssuer
名称。 ingress
上需要tls部分。