+1

Cấu hình chứng chỉ và khóa cho Elasticsearch trong tệp YAML triển khai

Để cấu hình chứng chỉ và khóa cho Elasticsearch trong tệp YAML triển khai (deployment YAML) trên Kubernetes, bạn sẽ cần chỉnh sửa tệp YAML của bạn để bao gồm các thuộc tính SSL. Dưới đây là cách thực hiện:

Bước 1: Tạo Secret cho chứng chỉ và khóa

Trước tiên, bạn cần tạo một Kubernetes Secret chứa chứng chỉ và khóa của bạn. 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

Bước 2: Cập nhật Deployment YAML

Sau khi tạo Secret, bạn cần cập nhật tệp deployment YAML của Elasticsearch. Dưới đây là ví dụ về cách bạn có thể cấu hình nó:

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

Giải thích các thành phần Secret: Sử dụng Secret để bảo mật chứng chỉ và khóa. VolumeMounts: Đảm bảo rằng bạn gán volume chứa Secret đến thư mục mà Elasticsearch cần. Environment Variables: Đặt các biến môi trường để cấu hình SSL cho Elasticsearch.

Bước 3: Cập nhật Cluster

Cuối cùng, hãy cập nhật cluster của bạn bằng cách áp dụng tệp YAML:

kubectl apply -f your-elasticsearch-deployment.yaml

Bước 4: Kiểm tra trạng thái Sau khi triển khai, kiểm tra xem Elasticsearch đã khởi động thành công và có thể sử dụng SSL hay không:

kubectl logs -f deployment/elasticsearch -n elk Nếu có bất kỳ lỗi nào trong quá trình khởi động, bạn sẽ thấy chúng trong log.


All Rights Reserved

Viblo
Let's register a Viblo Account to get more interesting posts.