У меня есть кластер 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 тома подключены к одному набору состояний.
Я ожидаю, что тома будут зашифрованы, ноне могу зашифровать их.
Пожалуйста, помогите мне с этим, как я могу добиться шифрования томов в таком случае?