Score:1

ใบรับรอง Kubernetes Cert-Manager หมดอายุแล้ว

ธง si

ฉันสืบทอดสภาพแวดล้อม GKE Kubernetes และพยายามคิดเรื่องนี้มาหลายวันแล้ว แต่น่าเสียดายที่ไม่รู้ว่าจะลองทำอะไรต่อไป

คลัสเตอร์ได้รับการตั้งค่าเพื่อใช้ cert-manager (ติดตั้งผ่าน helm) เพื่อใช้ใบรับรอง Let's Encrypt กับคลัสเตอร์ ด้วยเหตุผลบางประการ การดำเนินการนี้ทำงานได้อย่างสมบูรณ์แบบมากว่าสองปี แต่ตั้งแต่วันที่ 16/4/16 ฉันเริ่มเห็นคำเตือน SSL ในเบราว์เซอร์สำหรับโน้ตทั้งหมดในคลัสเตอร์

เมื่อฉันวิ่ง kubectl อธิบายใบรับรอง site-cloud-tls ดูเหมือนว่าใบรับรองจะได้รับการต่ออายุแต่ไม่ได้ถูกนำไปใช้กับทราฟฟิกขาเข้า

ชื่อ: site-cloud-tls
เนมสเปซ: cs
ป้ายกำกับ: <ไม่มี>
คำอธิบายประกอบ: <ไม่มี>
เวอร์ชัน API: certmanager.k8s.io/v1alpha1
ชนิด: ใบรับรอง
ข้อมูลเมตา:
  ประทับเวลาการสร้าง: 2019-06-02T09:55:05Z
  รุ่น: 34
  เจ้าของอ้างอิง:
    เวอร์ชัน API: ส่วนขยาย/v1beta1
    การลบเจ้าของบล็อก: จริง
    ผู้ควบคุม: จริง
    ชนิด: ขาเข้า
    ชื่อ: cs-nginx
    UID: 7f312326-851c-11e9-8bf0-4201ac10000c
  เวอร์ชันทรัพยากร: 541365011
  UID: 7f36cc40-851c-11e9-8bf0-4201ac10000c
ข้อมูลจำเพาะ:
  ชื่อ DNS:
    site.cloud (เปลี่ยนชื่อแต่ถูกต้อง)
  อ้างอิงผู้ออก:
    ประเภท: ClusterIssuer
    ชื่อ: letsencrypt-dns
  ชื่อลับ: site-cloud-tls
สถานะ:
  เงื่อนไข:
    เวลาเปลี่ยนผ่านล่าสุด: 2022-04-24T05:26:13Z
    ข้อความ: ใบรับรองเป็นปัจจุบันและยังไม่หมดอายุ
    เหตุผล: พร้อม
    สถานะ: จริง
    ประเภท: พร้อม
  ไม่หลังจาก: 2022-06-15T17:01:48Z
เหตุการณ์: <ไม่มี>
kubectl อธิบายขาเข้า
ชื่อ: cs-nginx
เนมสเปซ: cs
ที่อยู่: 192.168.1.32
แบ็กเอนด์เริ่มต้น: default-http-backend:80 (10.16.3.12:8080)
TLS:
  site-cloud-tls ยุติ site.cloud (เปลี่ยนชื่อ แต่ดูเหมือนว่าถูกต้อง)
กฎ:
  แบ็กเอนด์เส้นทางโฮสต์
  ---- ---- --------
  site.cloud   
                             / ไซต์:8080 (10.10.10.10:8080)

คำอธิบายประกอบ: certmanager.k8s.io/cluster-issuer: letsencrypt-dns
                             kubernetes.io/ingress.class: nginx
                             nginx.ingress.kubernetes.io/ssl-redirect: จริง
                             nginx.org/websocket-services: datahub
เหตุการณ์: <ไม่มี>

เรามีสภาพแวดล้อมการแสดงละครซึ่งได้รับผลกระทบเช่นกัน ฉันได้ลองติดตั้ง cert-manager ใหม่ ติดตั้ง nginx-ingress อีกครั้ง แต่น่าเสียดายที่ยังไม่สามารถสำรองและเรียกใช้สิ่งต่าง ๆ ได้ (น่าจะเกิดจากข้อผิดพลาดในการกำหนดค่าที่ฉันทำ)

หลังจากผ่านไป 3 วัน ฉันไม่รู้ว่าควรไปทางไหน และไม่รู้จัก Kubernetes ดีพอที่จะรู้ว่าควรลองทำอะไรต่อไป คำแนะนำใด ๆ ฉันสามารถให้ข้อมูลเพิ่มเติมที่อาจช่วยได้หรือไม่?

ขอขอบคุณ!

Gabriel Robledo Ahumada avatar
us flag
คำตอบนั้นมีประโยชน์หรือไม่?
Score:0

ประเด็นคือคุณกำลังอ้างถึง ผู้ออกคลัสเตอร์ กรุณาในคำจำกัดความ Ingress ของคุณ:

คำอธิบายประกอบ: certmanager.k8s.io/cluster-issuer: letsencrypt-dns

แต่วัตถุที่คุณกำหนดไว้คือ ใบรับรอง ใจดี:

ชื่อ: site-cloud-tls
เนมสเปซ: cs
ป้ายกำกับ: <ไม่มี>
คำอธิบายประกอบ: <ไม่มี>
เวอร์ชัน API: certmanager.k8s.io/v1alpha1
ชนิด: ใบรับรอง

นั่นเป็นเหตุผลว่าทำไมจึงไม่ถูกนำไปใช้กับ Ingress สิ่งที่คุณต้องการคือการสร้าง ผู้ออก ทรัพยากรใน Kubernetes เพื่อจัดการใบรับรอง คุณสามารถดูตัวอย่างพื้นฐานได้ที่นี่ อคส ผู้ออกคลัสเตอร์ ไฟล์รายการ:

apiVersion: cert-manager.io/v1
ประเภท: ClusterIssuer
ข้อมูลเมตา:
  ชื่อ: Letsencrypt-staging
ข้อมูลจำเพาะ:
  จุดสุดยอด:
    # คุณต้องแทนที่ที่อยู่อีเมลนี้ด้วยที่อยู่อีเมลของคุณเอง
    # Let's Encrypt จะใช้สิ่งนี้เพื่อติดต่อคุณเกี่ยวกับการหมดอายุ
    # ใบรับรอง และปัญหาที่เกี่ยวข้องกับบัญชีของคุณ
    อีเมล: [email protected]
    เซิร์ฟเวอร์: https://acme-staging-v02.api.letsencrypt.org/directory
    privateKeySecretRef:
      # ทรัพยากรลับที่จะใช้ในการจัดเก็บคีย์ส่วนตัวของบัญชี
      ชื่อ: ตัวอย่างผู้ออกบัญชีคีย์
    # เพิ่มตัวแก้โจทย์เดียว HTTP01 โดยใช้ nginx
    นักแก้ปัญหา:
    - http01:
        ทางเข้า:
          คลาส: nginx

โพสต์คำตอบ

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