• Русский
  • Generic ephemeral volumes

    Generic Ephemeral Volumes в Kubernetes — это функция, которая позволяет создавать эфемерные (временные) тома на уровне пода с использованием существующих StorageClasses и CSI-драйверов, без необходимости предварительного определения PersistentVolumeClaims (PVC).

    Они сочетают гибкость динамического выделения с простотой объявления томов на уровне пода.

    • Это временные тома, которые автоматически:

      • создаются при запуске Pod

      • удаляются при завершении Pod

    • Используют те же базовые механизмы, что и PersistentVolumeClaim

    • Требуют CSI (Container Storage Interface) драйвер с поддержкой динамического выделения

    Содержание

    Пример ephemeral volumes

    Этот пример автоматически создаёт временный PVC для Pod с использованием указанного StorageClass.

    apiVersion: v1
    kind: Pod
    metadata:
      name: ephemeral-demo
    spec:
      containers:
        - name: app
          image: busybox
          command: ["sh", "-c", "echo hello > /data/hello.txt && sleep 3600"]
          volumeMounts:
            - mountPath: /data
              name: ephemeral-volume
      volumes:
        - name: ephemeral-volume
          ephemeral:
            volumeClaimTemplate:
              metadata:
                labels:
                  type: temporary
              spec:
                accessModes: [ "ReadWriteOnce" ]
                resources:
                  requests:
                    storage: 1Gi
                storageClassName: standard
    1. Pod создаст PVC, используя этот шаблон.

    Основные характеристики

    ХарактеристикаОписание
    ЭфемерныйТом удаляется при удалении Pod
    Динамическое выделениеПоддерживается любым CSI-драйвером с динамическим выделением
    Без отдельного PVCVolumeClaim встроен непосредственно в спецификацию Pod
    Работает через CSIСовместим с любым CSI-драйвером (EBS, RBD, Longhorn и др.)

    Когда использовать Generic Ephemeral Volumes

    • Когда требуется временное хранилище с такими возможностями, как:

      • Изменяемый размер томов

      • Снимки (snapshots)

      • Шифрование

      • Хранилище, не привязанное к локальному узлу (например, облачное блочное хранилище)

    • Идеально подходит для:

      • Кэширования промежуточных данных

      • Временных рабочих директорий

      • Конвейеров, AI/ML рабочих процессов

    Чем они отличаются от emptyDir?

    ХарактеристикаemptyDirGeneric Ephemeral Volume
    Бэкенд хранилищаЛокальный диск или память узлаЛюбой бэкенд с поддержкой CSI
    Возможности храненияБазовыеПоддержка снимков, шифрования и др.
    Сценарий использованияПростое временное хранилищеРасширенные требования к эфемерному хранилищу
    Возможность пересозданияНет (привязан к узлу)Да (если CSI-том можно подключить)