Score:0

Kubernetes Nginx Ingress ไม่สามารถโหลดใบรับรองที่กำหนดเองจาก cert-manager

ธง jp

ฉันใช้ ผู้จัดการใบรับรอง ด้วยใบรับรองตัวแทนที่กำหนดเองนี้

apiVersion: cert-manager.io/v1
ประเภท: ClusterIssuer
ข้อมูลเมตา:
  ชื่อ: letsencrypt-myapp-isser
ข้อมูลจำเพาะ:
  จุดสุดยอด:
    เซิร์ฟเวอร์: https://acme-v02.api.letsencrypt.org/directory
    อีเมล: [email protected] # CHANGE-ME
    privateKeySecretRef:
      ชื่อ: wildcard-myapp-com
    นักแก้ปัญหา:
      # การกำหนดค่าผู้ให้บริการ ACME DNS-01
      - dns01:
          คลาวด์ DNS:
            บริการAccountSecretRef:
              ชื่อ: บัญชีบริการ clouddns
              คีย์: dns-service-account.json
            โครงการ: myapp
        ตัวเลือก:
          DNSชื่อ:
            - '*.myapp.com'
            - myapp.com
---
apiVersion: cert-manager.io/v1
ชนิด: ใบรับรอง
ข้อมูลเมตา:
  ชื่อ: myapp-com-tls
  เนมสเปซ: ค่าเริ่มต้น
ข้อมูลจำเพาะ:
  ชื่อลับ: myapp-com-tls
  ผู้ออกอ้างอิง:
    ชื่อ: letsencrypt-myapp-isser
  ชื่อสามัญ: '*.myapp.com'
  DNSชื่อ:
    - '*.myapp.com'
    - myapp.com

ฉันกำลังปรับใช้ Nginx ingress กับ kustomize

ข้อมูลจำเพาะ:
  แม่แบบ:
    ข้อมูลจำเพาะ:
      ตู้คอนเทนเนอร์:
      - ชื่อ: ตัวควบคุม
        หาเรื่อง:
        - /nginx-ingress-ตัวควบคุม
        - --public-service=$(POD_NAMESPACE)/ingress-nginx-controller
        - --election-id=ingress-controller-leader
        - --controller-class=k8s.io/ingress-nginx
        - --ingress-class=nginx
        - --configmap=$(POD_NAMESPACE)/ingress-nginx-controller
        - --validating-webhook=:8443
        - --validating-webhook-certificate=/usr/local/certificates/cert
        - --validating-webhook-key=/usr/local/certificates/key
        - --default-ssl-certificate=default/myapp-com-tls # หมายเหตุบรรทัดนี้

เมื่อฉันเปิดบันทึกของตัวควบคุมขาเข้า ฉันเห็นข้อผิดพลาดนี้

เกิดข้อผิดพลาดในการโหลดใบรับรองเริ่มต้นที่กำหนดเอง การย้อนกลับเพื่อสร้าง ââ ไม่พบค่าเริ่มต้นของใบรับรอง SSL ในเครื่อง/myapp-com-tls

ฉันจะทำอย่างไรเพื่อแก้ไขปัญหานี้

อัปเดต

ถ้าฉันวิ่ง

kubectl รับความลับ myapp-com-tls --namespace เริ่มต้น

มันไม่ส่งคืนอะไรเลย แต่ถ้าวิ่ง

kubectl รับความลับ myapp.com-tls-qpmpr --namespace เริ่มต้น

มันกลับมา

ชื่อ ประเภทข้อมูล อายุ
myapp.com-tls-qpmpr ทึบ 1 47m

อย่างไรก็ตามถ้าฉันเปลี่ยนเป็นสิ่งนี้ใน YAML ฉันได้รับข้อผิดพลาดเดียวกัน

--default-ssl-certificate=default/myapp.com-tls-qpmpr
$ kubectl อธิบายใบรับรอง myapp-com-tls -n cert-manager
ข้อผิดพลาดจากเซิร์ฟเวอร์ (NotFound): ไม่พบ certificates.cert-manager.io "myapp-com-tls"
in flag
(a) คุณดูที่ `kubectl -n default get secret` จริง ๆ หรือไม่เพื่อให้แน่ใจว่าอยู่ที่นั่น (b) โปรดทราบว่า cert-manager ใช้เวลาที่ไม่ใช่ศูนย์ในการแก้ไขลูปคำขอ LE ดังนั้นคุณอาจเผชิญกับสภาวะการแข่งขัน
Rodrigo avatar
jp flag
ฉันอัปเดตคำถามของฉันแล้ว คุณช่วยตรวจสอบอีกครั้งได้ไหม
in flag
ความลับที่มีเพียง 1 datum มีกลิ่นที่น่าสงสัย คุณลองตรวจสอบดูว่ามีอะไรอยู่ในนั้นหรือไม่? TLS มักจะมีคีย์และใบรับรอง
Rodrigo avatar
jp flag
มีเพียง `กุญแจ' ในความลับ ใบรับรองหายไป

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา