Volume - EmptyDir
EmptyDir 是 Kubernetes 中的一種臨時性 Volume,主要用於 Pod 內部的數據存儲。
它在 Pod 啟動時創建,並在 Pod 終止後被刪除。EmptyDir 是簡單且高效的數據存儲解決方案,適合用於短期存儲需求,例如緩存、臨時文件或數據交換。
工作原理
- 當 Pod 啟動時,Kubernetes 會自動在節點上創建一個空的目錄,並將其掛載到容器中指定的位置。
- 如果 Pod 重啟,
EmptyDir的內容仍然保留。 - 當 Pod 被刪除時,
EmptyDir的數據也會一併清除。 - 如果 Pod 被重新調度到其他節點,
EmptyDir內容不會隨之遷移。
可設定的參數
EmptyDir 可以通過以下方式進行配置,滿足不同的使用需求:
1. medium
- 用於指定
EmptyDir的存儲介質。 - 選項:
- 默認值為空字符串(
""),表示存儲在節點的磁碟上。 - 設定為
Memory時,EmptyDir將使用節點內存作為存儲介質(通過 tmpfs 實現)。
- 默認值為空字符串(
- 示例:
volumes:
- name: temp-storage
emptyDir:
medium: Memory
2. sizeLimit
- 用於設置
EmptyDir的大小限制。 - 特點:
- 僅在
medium: Memory時有效,限制內存的最大使用量。 - 如果未設置,則使用節點可用內存的默認分配。
- 僅在
- 示例:
volumes:
- name: temp-storage
emptyDir:
medium: Memory
sizeLimit: '256Mi'