Ответ
Я работал с различными CSI-драйверами в зависимости от облачного провайдера или on-premise инфраструктуры. Основная задача — динамически предоставлять блочные или файловые хранилища для StatefulSet'ов и Deployment'ов.
1. AWS EBS CSI Driver (ebs.csi.aws.com):
Использовал для stateful-приложений (базы данных, Kafka) в AWS. Настройка включает создание StorageClass с параметрами типа диска и IOPS.
# StorageClass для gp3 томов
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: ebs-gp3
provisioner: ebs.csi.aws.com
parameters:
type: gp3
iops: "3000" # Опционально
throughput: "125" # Опционально, MB/s
volumeBindingMode: WaitForFirstConsumer # Важно для зональных томов
reclaimPolicy: Retain
allowVolumeExpansion: true
---
# PersistentVolumeClaim, использующий этот StorageClass
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: postgres-data
spec:
storageClassName: ebs-gp3
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 100Gi
2. CSI Driver для Ceph (RBD и CephFS):
В on-premise кластерах использовал rbd.csi.ceph.com для блочных устройств (подходит для баз данных) и cephfs.csi.ceph.com для разделяемого файлового хранилища (логи, статика).
3. Azure Disk CSI Driver (disk.csi.azure.com):
Настраивал для приложений в Azure AKS, используя управляемые диски с разными уровнями производительности (StandardSSD_LRS, Premium_LRS).
Ключевые моменты при работе с CSI:
volumeBindingMode: WaitForFirstConsumer— критически важная настройка для облачных провайдеров, которая гарантирует, что том будет создан в той же зоне доступности (AZ), что и под, который его использует.allowVolumeExpansion: true— позволяет увеличивать размер тома без его пересоздания (поддерживается не всеми драйверами).- Snapshot и Clone: Современные CSI-драйверы поддерживают создание снапшотов томов и клонов, что полезно для тестирования и восстановления данных.
- Перед использованием драйвера необходимо установить его в кластер (обычно через Helm chart или набор манифестов от провайдера) и создать соответствующие ServiceAccount и RBAC-правила.