- vừa được xem lúc

SSL cho Elasticsearch trong Kubernetes

0 0 2

Người đăng: Đồng Dương

Theo Viblo Asia

Để cấu hình SSL cho Elasticsearch trong Kubernetes, bạn cần thay đổi file cấu hình với thông tin chính xác về dịch vụ của bạn. Dưới đây là hướng dẫn chi tiết để tạo chứng chỉ SSL và điều chỉnh cấu hình.

Bước 1: Tạo File Cấu Hình OpenSSL Tạo một file cấu hình OpenSSL, ví dụ openssl.cnf, với nội dung như sau:

[ req ]
default_bits = 2048
distinguished_name = req_distinguished_name
x509_extensions = req_ext
prompt = no [ req_distinguished_name ]
C = VN # Mã quốc gia
ST = VN # Tỉnh/Thành phố
L = VN # Địa phương
O = VN # Tên tổ chức
OU = Vn # Phòng ban
CN = elasticsearch-service.elks.svc.cluster.local # Tên DNS của dịch vụ [ req_ext ]
subjectAltName = @alt_names [ alt_names ]
DNS.1 = elasticsearch-service.elks.svc.cluster.local # Tên DNS chính
DNS.2 = elasticsearch-service # Tên DNS ngắn

Bước 2: Tạo Khóa và Chứng Chỉ Sử dụng lệnh sau để tạo khóa và chứng chỉ:

openssl req -x509 -new -nodes -key elasticsearch.key-sha256 -days 365 -out elasticsearch.crt -config openssl.cnf

Bước 3: Tạo Keystore PKCS#12 Chuyển đổi chứng chỉ và khóa thành định dạng PKCS#12:

openssl pkcs12 -export -out elasticsearch.p12 -inkey elasticsearch.key-sha256 -in elasticsearch.crt -passout pass:123456

Bước 4: Tạo Deployment File cho Elasticsearch Dưới đây là một ví dụ về file cấu hình deployment cho Elasticsearch sử dụng SSL:

apiVersion: apps/v1
kind: Deployment
metadata: name: elasticsearch-deployment namespace: elks
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 env: - name: discovery.type value: single-node - name: ELASTIC_PASSWORD value: "123456d" - name: xpack.security.enabled value: "true" - name: xpack.security.http.ssl.enabled value: "true" - name: xpack.security.http.ssl.keystore.path value: "/usr/share/elasticsearch/config/certs/elasticsearch.p12" - name: xpack.security.http.ssl.keystore.password value: "123456d" - 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/certs/elasticsearch.p12" - name: xpack.security.transport.ssl.keystore.password value: "123456d" ports: - containerPort: 9200 volumeMounts: - name: certs mountPath: /usr/share/elasticsearch/config/certs volumes: - name: certs hostPath: path: /path/to/certs # Đường dẫn trên host tới certs

Bước 5: Áp Dụng File Cấu Hình Đảm bảo rằng file chứng chỉ (elasticsearch.p12) đã được sao chép vào thư mục đúng trên máy chủ Kubernetes. Áp dụng file deployment: kubectl apply -f your-deployment-file.yaml Kết Luận Hãy thay đổi /path/to/certs thành đường dẫn thực tế tới file elasticsearch.p12 trên máy chủ của bạn. Nếu bạn có bất kỳ câu hỏi nào thêm hoặc gặp vấn đề gì trong quá trình này, hãy cho tôi biết nhé!

Bình luận

Bài viết tương tự

- vừa được xem lúc

[Linux] Hướng dẫn cài SSL trên Apache

Chào mọi người, lâu rồi chưa có bài viết mới hôm nay mình cùng tìm hiểu cách cài một SSL trên Apache như thế nào nhé. Chủ đề này tuy cũ người mới ta các bạn biết rồi thì bỏ qua bài viết này của mình.

0 0 24

- vừa được xem lúc

Cấu hình store password cho 2 file ssl

Khi bạn chạy các lệnh elasticsearch-certutil, nếu nó yêu cầu tên file và mật khẩu, bạn có thể cung cấp trực tiếp các thông tin này qua dòng lệnh hoặc nhập tương tác khi được hỏi. Bước 1: Tạo CA với tê

0 0 3