Để cấu hình SSL cho Elasticsearch trong Kubernetes, bạn sẽ cần bổ sung các biến môi trường và cấu hình SSL vào YAML cho Deployment của bạn. Dưới đây là cách bạn có thể cập nhật YAML của mình để tự động thiết lập cấu hình SSL:
YAML Đã Cập Nhật
apiVersion: apps/v1
kind: Deployment
metadata: name: elasticsearch-deployment namespace: elk
spec: replicas: 1 selector: matchLabels: app: elasticsearch template: metadata: labels: app: elasticsearch spec: containers: - name: elasticsearch image: docker.elastic.co/elasticsearch/elasticsearch:8.5.1 ports: - containerPort: 9200 resources: limits: memory: 2Gi requests: memory: 1Gi 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.verification_mode value: "certificate" - name: xpack.security.transport.ssl.keystore.path value: "/usr/share/elasticsearch/config/keystore.jks" # Đường dẫn keystore - name: xpack.security.transport.ssl.truststore.path value: "/usr/share/elasticsearch/config/truststore.jks" # Đường dẫn truststore - name: xpack.security.transport.ssl.keystore.secure_password value: "your_keystore_password" # Mật khẩu cho keystore - name: xpack.security.transport.ssl.truststore.secure_password value: "your_truststore_password" # Mật khẩu cho truststore volumeMounts: - name: elasticsearch-config mountPath: /usr/share/elasticsearch/config volumes: - name: elasticsearch-config secret: secretName: elasticsearch-secrets # Tạo secret chứa keystore và truststore
apiVersion: v1
kind: Service
metadata: name: elasticsearch-service
spec: type: NodePort selector: app: elasticsearch ports: - protocol: TCP port: 9200 targetPort: 9200 nodePort: 30000
Bước 1: Tạo Secret Chứa Keystore và Truststore Để tạo secret chứa keystore và truststore, bạn có thể sử dụng lệnh sau:
kubectl create secret generic elasticsearch-secrets \ --from-file=keystore.jks=/path/to/your/keystore.jks \ --from-file=truststore.jks=/path/to/your/truststore.jks \ -n elk
Bước 2: Triển Khai Deployment Sau khi bạn đã cập nhật YAML và tạo secret, triển khai lại Elasticsearch:
bash
Copy code
kubectl apply -f your-elasticsearch-deployment.yaml
Lưu ý
Hãy đảm bảo rằng bạn đã tạo keystore và truststore trước khi chạy lệnh tạo secret.
Thay thế your_keystore_password và your_truststore_password bằng mật khẩu thực tế của bạn.
Kiểm tra log của Elasticsearch nếu có vấn đề sau khi khởi động.
Bây giờ, Elasticsearch của bạn sẽ được cấu hình với SSL tự động khi triển khai. Nếu bạn có bất kỳ câu hỏi nào thêm hoặc gặp vấn đề, hãy cho tôi biết!