docs
docs copied to clipboard
Kubernetes. Сломана интеграция с Object Storage
Пытался настроить geesefs
так, чтобы подключить распознавание mime-types. В справке к geesefs
нашёл подходящую опцию --use-content-type
и указал её в yaml-манифесте StorageClass
, как это предложено в туториале "Интеграция с Object Storage", но не сработало.
Делал так:
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
name: csi-s3
provisioner: ru.yandex.s3.csi
parameters:
mounter: geesefs
options: "--use-content-type --memory-limit 1000 --dir-mode 0777 --file-mode 0666"
…
Исследовал проблему и выяснил, что geesefs
корректно реагирует на опцию --use-content-type
, если запускать его напрямую на своей машине. Но в Kubernetes настройка parameters.options
теряется.
Смог обойти проблему, добавив настройку options
ещё и в PersistentVolume
вместо StorageClass
:
apiVersion: v1
kind: PersistentVolume
metadata:
name: bucket
spec:
storageClassName: csi-s3
capacity:
storage: 6Gi
accessModes:
- ReadWriteMany
csi:
driver: ru.yandex.s3.csi
volumeHandle: bucket
volumeAttributes:
capacity: 6Gi
mounter: geesefs
options: '--use-content-type --memory-limit 1000 --dir-mode 0777 --file-mode 0666'
…
Сейчас туториал вводит в заблуждение. Пришлось потратить несколько часов, чтобы найти решение проблемы. Хорошо бы упомянуть о проблеме в документации.
PS. Не важно как настраивать интеграцию -- по туториалу или из Marketplace. В обоих случаях теряется настройка parameters.options
в StorageClass
.
Привет. Проверил. У меня не воспроизводится - если storage class сразу создать с нужной опцией и после этого создавать динамические PVC, то опция нормально пробрасывается в geesefs. Если речь о статическом PVC, то там да - возможно, опция не будет попадать, пока её не пропишешь в PV. Так же будет, если PV создан до добавления опции в storageclass - это поведение кубера, опции копируются в PV, для их изменения нужно потом менять сам PV.
Если речь о статическом PVC, то там да - возможно, опция не будет попадать, пока её не пропишешь в PV. Так же будет, если PV создан до добавления опции в storageclass - это поведение кубера, опции копируются в PV, для их изменения нужно потом менять сам PV.
Да, я столкнулся с проблемой на статическом PVC. Пробовал создавать PV уже после настройки нового storageclass -- не помогло.