Hướng Dẫn Cấu Hình Chứng Chỉ và Khóa SSL cho Elasticsearch trên Kubernetes
Trong bài viết này, chúng ta sẽ tìm hiểu cách cấu hình chứng chỉ và khóa SSL cho Elasticsearch trong tệp YAML triển khai (deployment YAML) trên Kubernetes. Việc này không chỉ giúp bảo mật cho ứng dụng của bạn mà còn đảm bảo rằng dữ liệu luôn được truyền tải một cách an toàn.
Bước 1: Tạo Secret cho Chứng Chỉ và Khóa
Bước đầu tiên trong quá trình cấu hình là tạo một Kubernetes Secret, nơi bạn sẽ lưu trữ chứng chỉ và khóa của mình. Dưới đây là lệnh để tạo Secret:
kubectl create secret generic elasticsearch-ssl-secret \
--from-file=elasticsearch.key=/path/to/your/elasticsearch.key \
--from-file=elasticsearch.crt=/path/to/your/elasticsearch.crt \
--namespace=elk
(*) Lưu ý thay thế đường dẫn /path/to/your/
với vị trí thực tế của chứng chỉ và khóa trên hệ thống của bạn.
Bước 2: Cập Nhật Tệp Deployment YAML
Sau khi bạn đã tạo Secret, bước tiếp theo là cập nhật tệp deployment YAML của Elasticsearch. Dưới đây là ví dụ cấu hình cho tệp YAML:
apiVersion: apps/v1
kind: Deployment
metadata:
name: elasticsearch
namespace: elk
spec:
replicas: 1
selector:
matchLabels:
app: elasticsearch
template:
metadata:
labels:
app: elasticsearch
spec:
containers:
- name: elasticsearch
image: elasticsearch:8.5.1
env:
- name: discovery.type
value: single-node
- name: xpack.security.enabled
value: "true"
- name: xpack.security.transport.ssl.enabled
value: "true"
- name: xpack.security.transport.ssl.key
value: "/usr/share/elasticsearch/config/elasticsearch.key"
- name: xpack.security.transport.ssl.certificate
value: "/usr/share/elasticsearch/config/elasticsearch.crt"
volumeMounts:
- name: config-volume
mountPath: /usr/share/elasticsearch/config
- name: elasticsearch-ssl-volume
mountPath: /usr/share/elasticsearch/config
readOnly: true
volumes:
- name: config-volume
configMap:
name: elasticsearch-config
- name: elasticsearch-ssl-volume
secret:
secretName: elasticsearch-ssl-secret
Trong cấu hình này:
- Secret: Được sử dụng để bảo mật chứng chỉ và khóa.
- VolumeMounts: Bảo đảm volume chứa Secret được gán vào thư mục mà Elasticsearch cần truy cập.
- Environment Variables: Thiết lập các biến môi trường để cấu hình SSL cho Elasticsearch.
Bước 3: Cập Nhật Cluster
Sau khi đã hoàn tất các thay đổi trong tệp YAML, bạn cần áp dụng chúng vào cluster của mình bằng lệnh sau:
kubectl apply -f your-elasticsearch-deployment.yaml
Bước 4: Kiểm Tra Trạng Thái
Sau khi triển khai, bạn cần kiểm tra xem Elasticsearch đã khởi động thành công và có thể sử dụng SSL hay không.
Lệnh kiểm tra logs:
kubectl logs -f deployment/elasticsearch -n elk
Nếu có lỗi trong quá trình khởi động, bạn sẽ thấy thông báo lỗi trong log.
Bài viết này đã hướng dẫn bạn từng bước để cấu hình chứng chỉ và khóa cho Elasticsearch trên Kubernetes. Hy vọng bạn sẽ triển khai thành công!
source: viblo