Создать класс хранилищ для постоянных томов Object Storage
В основе Managed Kubernetes S3 CSI Driver используется GeeseFS, который позволяет монтировать S3-бакет как файловую систему. Можно самостоятельно настроить параметры GeeseFS, а также указать лог-группу, в которую будут записываться логи постоянных томов Object Storage. Для этого достаточно создать класс хранилищ. Параметры GeeseFS передаются в mountOptions.
Чтобы создать новый класс хранилищ, например, с указанием лог-группы, переопределением прав доступа для каталогов и отключением проверки контрольной суммы MD5 и SHA256:
Проверьте, что S3 CSI Driver установлен.
Создайте StorageClass, используя манифест cloudru-s3-log.yaml:
apiVersion: storage.k8s.io/v1kind: StorageClassmetadata:name: <name_of_storage_class>annotations:storageclass.kubernetes.io/is-default-class: "false"provisioner: s3.mk8s.csi.cloud.ruparameters:type: <storage_type>logGroupID: <log_group_id>mountOptions:- dir-mode 0644- no-checksumvolumeBindingMode: WaitForFirstConsumerallowVolumeExpansion: true
Где:
metadata.name — название нового класса хранилищ.
parameters.type — тип хранилища. Возможные значения:
s3-standard — стандартное хранилище;
s3-single — стандартное хранилище в одной зоне доступности;
s3-cold — холодное хранилище;
s3-ice — ледяное хранилище.
parameters.logGroupID — идентификатор лог-группы. Его можно посмотреть в сервисе клиентского логирования.
mountOptions.dir-mode — права доступа для каталогов. В примере право на чтение для всех, право на запись для владельца.
mountOptions.no-checksum — отключение проверки контрольной суммы MD5 и SHA256. Значение остальных опций mountOptions останутся по умолчанию.
Примените манифест:
kubectl apply -f cloudru-s3-log.yamlПри создании Persistent Volume Claim в storageClassName укажите название нового класса хранилищ metadata.name.