Tôi đang thiết lập prometheus để cạo cụm kubernetes. Tôi đang cố gắng sử dụng "vai trò: nút" với kubernetes_sd_config để giám sát một trong các cụm K8.
Tôi đã tạo chứng chỉ ashishcert.pem cho người dùng "ashish" và prometheus sẽ sử dụng chứng chỉ này để xóa cụm. Chứng chỉ này được ký bởi cụm CA.
Prometheus.yml
Bây giờ khi tôi nhìn lại trong prometheus của mình, nó báo "không thể xác thực chứng chỉ x.x.x vì nó không chứa bất kỳ IP SAN nào"
kết quả ở phía prometheus
Cổng không có trong hình ảnh là dành cho kublet và điều đó có nghĩa là nó không thể loại bỏ các chỉ số kublet cho tất cả các nút trong cụm. Mặc dù tôi đã thêm tất cả tên nút và IP vào SAN của chứng chỉ.
tôi đã xác thực chứng chỉ của mình bằng cách kiểm tra số liệu của apisever bằng chứng chỉ của tôi và chứng chỉ CA bằng lệnh bên dưới.
curl -v https://myclustername:6443/metrics --cacert ca.pem --cert ashishcert.pem --key ashishkey.pem
Và lệnh trên đã hoạt động thành công. chứng chỉ của tôi đã được apiserver chấp nhận. Tuy nhiên, khi tôi cố gắng cuộn tròn số liệu kublet bằng đường dẫn https://myclustername:10250/metrics. nó báo lỗi CA không đáng tin cậy. có vẻ kublet CA khác với apiserver CA.
kết quả trong khi làm curl
Tôi đã hiểu rằng chứng chỉ của tôi sẽ kết nối tôi (prometheus) với apiserver và sau đó apiserver sẽ thực hiện nhiệm vụ đối với tất cả các giao tiếp khác như apiserver sẽ sử dụng chứng chỉ của nó để lấy số liệu từ kublet. Tuy nhiên, với kết quả của các lệnh trên, có vẻ như mycert cũng đang được xác thực trực tiếp với kublet. Vui lòng xác nhận chứng chỉ của ai sẽ được sử dụng cho liên lạc nội bộ.
Làm cách nào để cạo tất cả các nút có vai trò: nút mà không bỏ qua chứng chỉ?