Để cấu hình sử dụng chung chứng chỉ CA (ca.crt) cho cả Elasticsearch và Logstash trong file values.yaml, bạn cần đảm bảo rằng cả hai dịch vụ đều có đường dẫn đến chứng chỉ này và sao chép nó vào vị trí mà cả hai dịch vụ đều có thể truy cập. Dưới đây là hướng dẫn chi tiết:
Bước 1: Cấu hình values.yaml cho Elasticsearch Thêm cấu hình cho chứng chỉ trong phần secretMounts để sao chép chứng chỉ CA vào Elasticsearch:
# values.yaml cho Elasticsearch
secretMounts: - name: elastic-certificates secretName: elastic-certificates # Tên secret chứa chứng chỉ path: /usr/share/elasticsearch/config/certs # Đường dẫn đến thư mục chứa chứng chỉ defaultMode: 0755
Đảm bảo rằng bạn đã tạo secret này trong Kubernetes
Bước 2: Cấu hình values.yaml cho Logstash Trong phần cấu hình cho Logstash, bạn cũng cần đảm bảo rằng Logstash có thể truy cập chứng chỉ CA. Thêm phần sau vào file values.yaml của Logstash:
# values.yaml cho Logstash
secretMounts: - name: elastic-certificates secretName: elastic-certificates # Tên secret chứa chứng chỉ path: /usr/share/logstash/config/certs # Đường dẫn đến thư mục chứa chứng chỉ defaultMode: 0755 elasticsearch: hosts: - "https://10.152.183.37:9200" user: "elastic" password: "your_password" ssl: enabled: true cacert: "/usr/share/logstash/config/certs/ca.crt" # Đường dẫn đến chứng chỉ CA
Bước 3: Tạo Secret chứa Chứng chỉ CA Trước khi triển khai Elasticsearch và Logstash, bạn cần tạo một Kubernetes secret chứa chứng chỉ CA. Bạn có thể thực hiện điều này bằng lệnh sau:
kubectl create secret generic elastic-certificates --from-file=ca.crt=/path/to/your/ca.crt -n <namespace>
Thay thế /path/to/your/ca.crt bằng đường dẫn đến file chứng chỉ trên máy của bạn, và <namespace> bằng namespace mà bạn đang sử dụng.
Bước 4: Triển khai lại Elasticsearch và Logstash Sau khi đã cấu hình và tạo secret, bạn có thể triển khai lại cả hai dịch vụ:
# Triển khai lại Elasticsearch
helm upgrade <elasticsearch-release-name> elastic/elasticsearch -f values.yaml -n <namespace> # Triển khai lại Logstash
helm upgrade <logstash-release-name> elastic/logstash -f values.yaml -n <namespace>
Bước 5: Kiểm tra Kết nối Sau khi triển khai lại, hãy kiểm tra log của Logstash để xác nhận rằng nó có thể kết nối thành công đến Elasticsearch mà không gặp lỗi SSL:
kubectl logs <logstash-pod-name> -n <namespace>
Nếu bạn thấy thông báo kết nối thành công, điều này có nghĩa là chứng chỉ đã được cấu hình đúng và cả Elasticsearch và Logstash có thể sử dụng chung chứng chỉ CA.