Замените том EBS зашифрованным томом для нескольких узлов данных ELK
У меня есть ELK кластер с 1 клиентским узлом, 1 главным узлом и 3 узлами данных. К основным узлам и узлам данных подключены тома. Объемы для узлов данных имеют 200 ГБ каждый. Ни один из этих томов не зашифрован, теперь я хочу зашифровать эти тома.
Это работает, когда у нас есть только одна реплика statefulset и мы используем одно монтирование тома. но для 3-х реплик его невозможно подключить к тому. В kubernetes есть одна опция, которая дает определение тома с флагом "зашифровано", но тогда мы должны указать имя заявки в развертывании / statefulset. Мы можем указать имя заявки в statefulset, но только если у нас есть одна заявка для указания. Но поскольку в моем кластере elk есть 3 узла данных, мы не можем указать одно конкретное имя заявки в наборе состояний.
Я попытался сделать это динамически, присвоив флагу класса "зашифрованный" значение true следующим образом:
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
name: esvolume-2
provisioner: kubernetes.io/aws-ebs
parameters:
type: gp2
zones: eu-west-1c
iopsPerGB: "600"
fsType: ext4
encrypted: "true"
тогда мы должны использовать этот класс хранения в заявке следующим образом:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: esdata-2
labels:
app: mo-es-data
spec:
storageClassName: esvolume-2
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 200Gi
А затем необходимо указать имя заявки в наборе состояний следующим образом:
volumeMounts:
- name: esdata-2
mountPath: /data
#imagePullSecrets:
#- name: mo-docker-registry
volumeClaimTemplates:
- metadata:
name: esdata-2
Поэтому я не могу пойти с этим решением.
Замена вручную также невозможна, так как 3 тома были прикреплены к одному состоянию.
Я ожидаю, что тома будут зашифрованы, но я не смогу их зашифровать.
Пожалуйста, помогите мне с этим, как я могу добиться шифрования томов в таком случае?