Hướng Dẫn Cấu Hình Chứng Chỉ CA Chung Cho Elasticsearch và Logstash
Chứng chỉ CA (Certificate Authority) là một thành phần quan trọng giúp đảm bảo tính bảo mật trong việc truyền tải dữ liệu giữa Elasticsearch và Logstash. Để cấu hình chứng chỉ CA chung cho cả hai dịch vụ này, bạn sẽ cần thực hiện theo các bước dưới đây trong file values.yaml
.
Bước 1: Cấu Hình values.yaml cho Elasticsearch
Trước tiên, bạn cần thêm cấu hình cho chứng chỉ trong phần secretMounts
để sao chép chứng chỉ CA vào Elasticsearch như sau:
yaml
# 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
Lưu ý: Hãy chắc chắn rằng bạn đã tạo secret chứa chứng chỉ này trong Kubernetes.
Bước 2: Cấu Hình values.yaml cho Logstash
Đối với Logstash, bạn cũng cần đảm bảo rằng nó có thể truy cập được chứng chỉ CA. Thêm cấu hình sau vào file values.yaml
của Logstash:
yaml
# 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. Sử dụng lệnh sau:
bash
kubectl create secret generic elastic-certificates --from-file=ca.crt=/path/to/your/ca.crt -n <namespace>
Chú ý: 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 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ụ với lệnh sau:
bash
# 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
Cuối cùng, hãy kiểm tra log của Logstash để đảm bảo rằng nó có thể kết nối thành công đến Elasticsearch mà không gặp lỗi SSL:
bash
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 rằng chứng chỉ đã được cấu hình đúng và cả Elasticsearch lẫn Logstash đều có khả năng sử dụng chung chứng chỉ CA một cách hiệu quả.
source: viblo