簡體   English   中英

Kubernetes 入口找不到由 CertManager 創建的 SSL 機密

[英]Kubernetes Ingress can't find SSL secret created by CertManager

我一直在嘗試從 Let's Encrypt 生成 SSL 證書到我的域,但 cert-manager 創建了秘密並添加了一個隨機后綴,導致 NGINX 入口 Z594C103F2C6E004C3D8AB05 無法找到它:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: nginx-ingress
  annotations:
    kubernetes.io/ingress.class: "nginx"
    cert-manager.io/issuer: scaleway
    kubernetes.io/tls-acme: "true"
spec:
  rules:
    - host: <DOMAIN>
      http:
        paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: my-svc
                port:
                  number: 80

  tls:
    
  - hosts:
    - <DOMAIN>
    secretName: tls-cert

這是 NGINX 日志中的錯誤:

Error obtaining X.509 certificate: no object matching key "default/tls-cert" in local store

Error getting SSL certificate "default/storek8s.igesa.it": local SSL certificate default/storek8s.igesa.it was not found. Using default certificate

秘密總是這樣創建的:

NAME                                     TYPE                                  DATA   AGE
...
tls-secret-fjrm5                  Opaque                                1      60m

如何禁用為 Ingress 生成的密鑰添加隨機后綴? 有什么辦法可以解決這個問題嗎?

目前我掌握的信息太少,無法給出准確的答案。 例如,您是否使用此Helm 圖表以及使用哪些values.yaml

我知道 cert-manager 創建的tls機密應該是kubernetes.io/tls類型,而不是像您的情況那樣Opaque 所以那里肯定有問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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