# CSI S3 Driver Монтирует S3/MinIO бакеты как PersistentVolume в поды. При `addon_minio: true` автоматически использует внутренний MinIO кластера без дополнительной настройки. ## Быстрый старт ```yaml # group_vars/all/addons.yml addon_csi_s3: true addon_minio: true # автоматически подключается к MinIO ``` ```bash make addon-csi-s3 ``` ## Параметры | Переменная | Умолч. | Описание | |---|---|---| | `csi_s3_mounter` | `geesefs` | geesefs \| s3fs \| rclone | | `csi_s3_endpoint` | авто (MinIO) | S3 endpoint URL | | `csi_s3_storage_class_name` | `csi-s3` | Имя StorageClass | | `csi_s3_reclaim_policy` | `Delete` | Delete \| Retain | ## Внешний S3 ```yaml csi_s3_endpoint: "https://s3.amazonaws.com" csi_s3_access_key: "AKIAIOSFODNN7EXAMPLE" csi_s3_secret_key: "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY" csi_s3_region: "us-east-1" ``` Секреты в `vault.yml`: ```yaml vault_minio_root_user: "minioadmin" vault_minio_root_password: "changeme" ``` ## Использование в PVC ```yaml apiVersion: v1 kind: PersistentVolumeClaim metadata: name: s3-data spec: accessModes: [ReadWriteMany] storageClassName: csi-s3 resources: requests: storage: 5Gi --- apiVersion: apps/v1 kind: Deployment metadata: name: my-app spec: template: spec: containers: - name: app image: alpine volumeMounts: - name: s3-storage mountPath: /data volumes: - name: s3-storage persistentVolumeClaim: claimName: s3-data ``` ## Монтировщики | Монтировщик | Особенности | |---|---| | `geesefs` | Рекомендуется, высокая производительность, поддержка POSIX | | `s3fs` | Классический FUSE S3, совместимость | | `rclone` | Поддержка многих провайдеров (GCS, Azure Blob и др.) | ## Официальные ресурсы - Официальный сайт: [https://github.com/ctrox/csi-s3](https://github.com/ctrox/csi-s3) - Официальная документация: [https://github.com/ctrox/csi-s3](https://github.com/ctrox/csi-s3) - Версии Helm chart / ПО: [https://artifacthub.io/packages/helm/csi-s3/csi-s3](https://artifacthub.io/packages/helm/csi-s3/csi-s3)