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

В Kubernetes emptyDir — это простой временный тип тома, который предоставляет временное хранилище для пода на время его жизни. Он создаётся, когда под назначается на узел, и удаляется, когда под удаляется с этого узла.

Содержание

Пример emptyDir

Этот Pod создаёт временный том, смонтированный в /data, который используется контейнером.

apiVersion: v1
kind: Pod
metadata:
  name: emptydir-demo
spec:
  containers:
    - name: app
      image: busybox
      command: ["sh", "-c", "echo hello > /data/hello.txt && sleep 3600"]
      volumeMounts:
        - mountPath: /data
          name: cache-volume
  volumes:
    - name: cache-volume
      emptyDir: {}

Необязательная настройка Medium

Вы можете выбрать, где будут храниться данные:

emptyDir:
  medium: "Memory"
MediumОписание
(default)Использует диск узла, SSD или сетевое хранилище, в зависимости от среды
MemoryИспользует RAM (tmpfs) для более быстрого доступа (но данные нестабильны)

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

ОсобенностьОписание
Начинается пустымНет данных при создании
Совместное использованиеОдин и тот же том может использоваться несколькими контейнерами в поде
Удаляется с подомТом уничтожается при удалении пода
Локальный для узлаТом хранится на локальном диске или в памяти узла
БыстрыйИдеально подходит для производительного временного хранилища

Распространённые сценарии использования

  • Кэширование промежуточных артефактов сборки

  • Буферизация логов

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

  • Совместное использование данных между контейнерами в одном поде (например, сайдкары)