Điểm:0

Kubernetes Nginx Ingress không thể tải chứng chỉ tùy chỉnh từ trình quản lý chứng chỉ

lá cờ jp

tôi đang dùng người quản lý chứng chỉ với chứng chỉ ký tự đại diện tùy chỉnh này

apiVersion: cert-manager.io/v1
loại:ClusterIssuer
metadata:
  tên: letsencrypt-myapp-issuer
thông số kỹ thuật:
  tốt:
    máy chủ: https://acme-v02.api.letsencrypt.org/directory
    email: [email protected] # CHANGE-ME
    privateKeySecretRef:
      tên: ký tự đại diện-myapp-com
    người giải quyết:
      # Cấu hình nhà cung cấp ACME DNS-01
      - dns01:
          đám mâyDNS:
            serviceAccountSecretRef:
              tên: clouddns-service-account
              khóa: dns-service-account.json
            dự án: myapp
        bộ chọn:
          tên dns:
            - '*.myapp.com'
            - myapp.com
---
apiVersion: cert-manager.io/v1
loại: Giấy chứng nhận
metadata:
  tên: myapp-com-tls
  không gian tên: mặc định
thông số kỹ thuật:
  secretName: myapp-com-tls
  người phát hànhRef:
    tên: letsencrypt-myapp-issuer
  commonName: '*.myapp.com'
  tên dns:
    - '*.myapp.com'
    - myapp.com

Tôi đang triển khai Nginx ingress với kustomize

thông số kỹ thuật:
  mẫu:
    thông số kỹ thuật:
      hộp đựng:
      - tên: bộ điều khiển
        lập luận:
        - /nginx-ingress-bộ điều khiển
        - --publish-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-certert=/usr/local/certificates/cert
        - --validating-webhook-key=/usr/local/certificates/key
        - --default-ssl-certificate=default/myapp-com-tls # LƯU Ý DÒNG NÀY

Khi tôi mở nhật ký của bộ điều khiển xâm nhập, tôi có thể thấy lỗi này

Lỗi khi tải chứng chỉ mặc định tùy chỉnh, quay lại để tạo ââ chứng chỉ SSL cục bộ mặc định/myapp-com-tls không tìm thấy

Tôi có thể làm gì để khắc phục sự cố này?

CẬP NHẬT

nếu tôi chạy

kubectl lấy bí mật myapp-com-tls --namespace default

Nó không trả về gì cả. Tuy nhiên, nếu tôi chạy

kubectl lấy bí mật myapp.com-tls-qpmpr --namespace default

Nó trở lại

TÊN LOẠI DỮ LIỆU TUỔI
myapp.com-tls-qpmpr Trong suốt 1 47m

Tuy nhiên, nếu tôi thay đổi điều này trên YAML, tôi cũng gặp lỗi tương tự

--default-ssl-certificate=default/myapp.com-tls-qpmpr
$ kubectl mô tả chứng chỉ myapp-com-tls -n cert-manager
Lỗi từ máy chủ (NotFound): không tìm thấy chứng chỉ.cert-manager.io "myapp-com-tls"
lá cờ in
(a) bạn có thực sự xem `kubectl -n default get secret` để đảm bảo nó ở đó không? (b) lưu ý rằng người quản lý chứng chỉ mất thời gian khác không để giải quyết vòng lặp yêu cầu LE, vì vậy bạn có thể phải đối mặt với điều kiện cuộc đua
Rodrigo avatar
lá cờ jp
Tôi đã cập nhật câu hỏi của mình. Bạn có thể vui lòng kiểm tra lại?
lá cờ in
Bí mật đó chỉ có 1 dữ liệu có mùi đáng ngờ, bạn đã kiểm tra xem có gì trong đó chưa? Những cái TLS thường có khóa và chứng chỉ
Rodrigo avatar
lá cờ jp
Chỉ có `key` trong bí mật, chứng chỉ bị thiếu

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.