使用 emptyDir

在 Kubernetes 中,emptyDir 是一种简单的临时卷类型,为 Pod 在其生命周期内提供临时存储。它在 Pod 被分配到节点时创建,并在 Pod 从该节点移除时删除。

目录

示例 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描述
(默认)根据您的环境使用节点的磁盘、SSD 或网络存储
Memory使用 RAM (tmpfs) 以获得更快的访问速度(但不持久)

主要特性

特性描述
初始为空创建时没有数据
跨容器共享同一卷可以被 Pod 中的多个容器使用
随 Pod 删除当 Pod 被移除时,卷也会被销毁
节点本地卷存储在节点的本地磁盘或内存中
快速适合性能敏感的临时存储空间

常见用例

  • 缓存中间构建工件

  • 缓冲日志

  • 临时工作目录

  • 在同一 Pod 中的容器之间共享数据(如 sidecar)