Files
K3S/addons/csi-s3

CSI S3 Driver

Монтирует S3/MinIO бакеты как PersistentVolume в поды. При addon_minio: true автоматически использует внутренний MinIO кластера без дополнительной настройки.

Быстрый старт

# group_vars/all/addons.yml
addon_csi_s3: true
addon_minio: true   # автоматически подключается к MinIO
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

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:

vault_minio_root_user: "minioadmin"
vault_minio_root_password: "changeme"

Использование в PVC

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 и др.)