[英]Configure SSL certificates in kubernetes with cert-manager istio ingress and LetsEncrypt
[英]Kubernetes/Ingress Nginx/Cert Manager certificates have namespaces?
我正在嘗試部署“ cert-manager”( https://github.com/jetstack/cert-manager )項目,該項目是“ kube-lego”的后繼者。 我發現證書與所創建的證書不匹配,並且我想知道是否還有其他人嘗試過此操作。
我正在使用“ monitoring-xxx-com”創建一個tls secretName,並且在ingress-nginx日志中發現它正在嘗試搜索名稱空間/ monitoring-xxx-com,但未找到期望的內容。
我想知道這是否是因為ingress-nginx嘗試自動使用pods命名空間,而cert-manager正在創建沒有命名空間的證書,因此這就是為什么找不到證書的原因。
error obtaining PEM from secret kube-system/monitoring-xxx-com: error
retrieving secret kube-system/monitoring-xxx-com: secret kube-
system/monitoring-xxx-com was not found
並在“ cert-manager”創建的證書中:
Issuer Ref:
Kind: ClusterIssuer
Name: letsencrypt-staging
Secret Name: monitoring-xxx-com
secret和nginx入口控制器位於不同的名稱空間中,這里有一個選項,您可以從另一個名稱空間設置證書。
https://github.com/kubernetes/ingress-nginx/blob/master/docs/user-guide/cli-arguments.md
--default-ssl-certificate string Name of the secret
that contains a SSL certificate to be used as default for a HTTPS catch-all server.
Takes the form <namespace>/<secret name>.
要找到您的秘密的名稱空間:
kubectl describe secrets/monitoring-xxx-com
在部署模板中使用default-ssl-certificate
spec:
template:
spec:
containers:
- args:
- /nginx-ingress-controller
- "--default-backend-service=$(POD_NAMESPACE)/default-http-backend"
- "--default-ssl-certificate=$(POD_NAMESPACE)/tls-certificate"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.