Điểm:0

Kubernetes: sử dụng CA trung gian có chứng chỉ được ký bởi chứng chỉ CA gốc tự ký

lá cờ au

Có ai sử dụng chuỗi chứng chỉ riêng cho cụm Kubernetes không?

Đã xảy ra sự cố với kiểu thiết lập như vậy và tôi rất biết ơn nếu có bất kỳ ý tưởng nào về cách giải quyết vấn đề đó.

Giả sử chúng ta có Root CA có chứng chỉ tự ký. Ngoài ra, chúng tôi có một CA trung gian có chứng chỉ được ký bởi Root CA. Chúng tôi tạo một chuỗi chứng nhận (bằng cách ghép cả hai vùng chứa PEM trong một tệp) và thiết lập Kubernetes với chuỗi đó. Hầu hết mọi thứ đều hoạt động hoàn hảo: Kubernetes hoạt động tốt, ứng dụng khách Kubernetes hoạt động tốt, người vận hành Kubernetes hoạt động tốt... Cuộc sống thật tuyệt.

Nhưng có một điều mà chúng ta phải ghi nhớ. Tất cả các Bí mật đối tượng chứa mã thông báo bảo mật cho Dịch vụTài khoản các đối tượng có phiên bản "rút gọn" của chứng chỉ CA. Phiên bản "rút gọn" không chứa chứng chỉ Root CA, chỉ có chứng chỉ Trung cấp.

Như tôi có thể thấy, đối với hầu hết các thư viện TLS là đủ. Một phần mềm thiết lập kết nối TLS với Máy chủ API Kubernetes, đảm bảo rằng chứng chỉ của máy chủ được ký bởi một CA đáng tin cậy (giả sử rằng chứng chỉ CA trung gian được nhận từ CA có liên quan Bí mật được tin cậy) và mọi thứ hoạt động trơn tru.

Nhưng đôi khi chúng ta có một vấn đề.Khi chúng tôi sử dụng một phần mềm (ví dụ: trình điều khiển Kubernetes hoặc bất kỳ chương trình nào khác cần giao tiếp với Máy chủ API Kubernetes) sử dụng thư viện TLS nghiêm ngặt hơn một chút - chúng tôi đang gặp rắc rối. Trong trường hợp này, chúng tôi phải cung cấp cho công cụ này phiên bản của chuỗi chứng chỉ (chứa cả chứng chỉ CA Trung gian và Chứng chỉ gốc), vì phiên bản "rút gọn" do Kubernetes cung cấp là không đủ. Và điều đó không sao nếu chúng tôi có thể cung cấp cho công cụ này chuỗi chứng chỉ đầy đủ, nhưng đôi khi điều đó là không thể, do đó, chúng tôi cần chứng chỉ CA "rút gọn" từ /var/run/secrets/kubernetes.io/serviceaccount/ca.crt và điều đó không dễ để thuyết phục nó lấy chứng chỉ CA từ một nguồn khác. :-(

Câu hỏi của tôi như sau: có cách nào để khiến Kubernetes tạo những Bí mật các đối tượng có phiên bản đầy đủ của chuỗi chứng nhận? Và nếu có, nó có gây ra một loại khó khăn nào khác không (ví dụ: nếu phần mềm được cung cấp với toàn bộ chuỗi sẽ bị trục trặc)? Hoặc, có lẽ, có thể có một cách giải quyết khác?

Cảm ơn trước.

Đă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.