簡體   English   中英

Kubernetes / Ingress Nginx / Cert Manager證書是否具有名稱空間?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM