Модуль доступен только в Deckhouse Enterprise Edition.

Функциональность модуля может сильно измениться. Совместимость с будущими версиями не гарантируется

Как проверить работоспособность модуля?

Нужно проверить статус подов в неймспейсе d8-csi-s3. У всех подов статус должен быть Running или Completed, и поды должны быть запущены на каждой из нод.

kubectl -n d8-csi-s3 get pod -owide -w

Возможно ли поменять параметры подключения к S3 для уже созданных PV?

Нет, данные для подключения к хранилищу не могут быть изменены. Изменение StorageClass также не влияет на параметры подключения в уже существующих PV.

Почему размер примонтированной директории в поде отображается как 1 петабайт в df -h?

Это особенность монтирующего модуля geesefs. Значение Used также не меняется во время использования.

Что делать, если я превышу квоту bucket’a или пользователя во время использования модуля?

Превышение квоты – нештатная ситуация. Пользователи должны избегать этого. Дальнейшее поведение зависит от того, какое именно хранилище вы используете в качестве бэкенда. Возможные варианты:

  • Вы сможете копировать/редактировать файлы в подах, но изменения не отразятся на содержимом хранилища.
  • Под может выйти из строя и будет перезапущен.

Как мне получить информацию об используемом пространстве?

На сегодняшний день единственный способ — использовать интерфейс хранилища: либо веб-интерфейс, либо командную строку.

Могу ли я использовать несколько S3-хранилищ в одном модуле?

Да, это возможно. Для этого вам нужно будет создать еще один S3StorageClass и PVC. Затем назначьте PVC и смонтируйте том в поде следующим образом:

kubectl apply -f - <<EOF
apiVersion: v1
kind: Pod
metadata:
  name: csi-s3-test-nginx
  namespace: default
spec:
  containers:
   - name: csi-s3-test-nginx
     image: nginx
     volumeMounts:
       - mountPath: /usr/share/nginx/html/s3
         name: webroot
       - mountPath: /opt/homedir
         name: homedir
  volumes:
   - name: webroot
     persistentVolumeClaim:
       claimName: csi-s3-pvc # PVC name
       readOnly: false   - name: webroot
   - name: homedir
       persistentVolumeClaim:
       claimName: csi-s3-pvc2 # PVC-2 name
       readOnly: false
EOF

Могу ли я использовать один и тот же bucket в нескольких подах?

Да. Укажите bucketName в S3StorageClass. В этом случае внутри bucket для каждого PV будут созданы новые папки.

Поиск неисправностей

Проблемы при создании PVC

Проверьте логи provisioner’a: kubectl -n d8-csi-s3 logs -l app=csi-provisioner-s3 -c csi-s3

Проблемы с созданием контейнеров

Убедитесь, что для MountPropagation не установлено значение false.

Проверьте логи s3-драйвера: kubectl -n d8-csi-s3 logs -l app=csi-s3 -c csi-s3