Создание шифрованного хранилища на LINSTOR
Администраторы Cozystack могут включить шифрованное хранилище, создав собственный StorageClass. В этом руководстве описано, как задать парольную фразу шифрования, создать шифрованный класс хранения и использовать его в приложениях.
LINSTOR обеспечивает шифрование постоянных томов at-rest с помощью LUKS. Это гарантирует, что данные на диске хранятся в зашифрованном виде и доступны только тогда, когда том смонтирован и разблокирован.
Настройка шифрования в LINSTOR
Чтобы начать использовать шифрование, задайте парольную фразу шифрования в LINSTOR.
kubectl exec -i -t -n cozy-linstor deploy/linstor-controller -- linstor encryption create-passphrase
Если вы потеряете парольную фразу шифрования, все зашифрованные данные будут безвозвратно утеряны.
Парольную фразу нужно вводить каждый раз после перезапуска контроллера LINSTOR. Для ввода парольной фразы используйте следующую команду:
kubectl exec -i -t -n cozy-linstor deploy/linstor-controller -- linstor encryption enter-passphrase
Создание шифрованного класса хранения
Создайте StorageClass для шифрованного хранилища:
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: local-encrypted
provisioner: linstor.csi.linbit.com
parameters:
linstor.csi.linbit.com/storagePool: "data"
linstor.csi.linbit.com/layerList: "luks storage"
linstor.csi.linbit.com/encryption: "true"
linstor.csi.linbit.com/allowRemoteVolumeAccess: "false"
volumeBindingMode: WaitForFirstConsumer
allowVolumeExpansion: true
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: replicated-encrypted
provisioner: linstor.csi.linbit.com
parameters:
linstor.csi.linbit.com/storagePool: "data"
linstor.csi.linbit.com/autoPlace: "3"
linstor.csi.linbit.com/layerList: "drbd luks storage"
linstor.csi.linbit.com/encryption: "true"
linstor.csi.linbit.com/allowRemoteVolumeAccess: "true"
property.linstor.csi.linbit.com/DrbdOptions/auto-quorum: suspend-io
property.linstor.csi.linbit.com/DrbdOptions/Resource/on-no-data-accessible: suspend-io
property.linstor.csi.linbit.com/DrbdOptions/Resource/on-suspended-primary-outdated: force-secondary
property.linstor.csi.linbit.com/DrbdOptions/Net/rr-conflict: retry-connect
volumeBindingMode: Immediate
allowVolumeExpansion: true
Теперь вы можете использовать этот StorageClass для создания PersistentVolumeClaims (PVC) под шифрованное хранилище.