Tuyển dụng
Viettel IDC

Ephemeral Volume là gì? Cách sử dụng lưu trữ tạm thời trong Kubernetes

31/07/2026

Không phải dữ liệu nào trong Kubernetes cũng cần được lưu giữ lâu dài. Với cache, file xử lý trung gian hoặc dữ liệu dùng chung giữa các container, Ephemeral Volume mang đến một không gian lưu trữ gọn nhẹ, tồn tại theo vòng đời Pod và tự động được thu hồi khi không còn cần thiết. Cùng Viettel IDC tìm hiểu Ephemeral Volume là gì và cách lưu trữ tạm thời trong Kubernetes.

Ephemeral Volume là gì?

Ephemeral Volume (volume tạm thời) là không gian lưu trữ có vòng đời gắn với một Pod trong Kubernetes. Dữ liệu trong volume vẫn được duy trì khi container khởi động lại bên trong cùng Pod, nhưng sẽ bị xóa khi Pod không còn tồn tại. Ephemeral Volume thường được dùng để lưu dữ liệu nháp, bộ nhớ đệm, tệp trung gian hoặc các dữ liệu không cần duy trì lâu dài.

Ephemeral Volume là gì?

Cơ chế hoạt động của Ephemeral Volume là gì?

Ephemeral Volume hoạt động bằng cách tạo một vùng lưu trữ tạm và gắn vùng lưu trữ đó vào Pod trong suốt quá trình Pod tồn tại. Khi Pod được lên lịch chạy trên một node, Kubernetes chuẩn bị volume theo cấu hình trong Pod spec rồi mount vào đường dẫn đã chỉ định bên trong container. Các container trong cùng Pod có thể truy cập hoặc chia sẻ dữ liệu thông qua volume này.

Dữ liệu trên Ephemeral Volume vẫn được giữ nếu container gặp lỗi và khởi động lại trong cùng một Pod. Tuy nhiên, khi Pod bị xóa hoặc được thay thế bằng Pod mới có UID khác, volume cũ cũng bị hủy và dữ liệu bên trong không còn tồn tại.

Các loại Ephemeral Volume trong Kubernetes

Kubernetes cung cấp nhiều loại volume tạm thời cho từng nhu cầu lưu trữ khác nhau. Mỗi loại Ephemeral Volume trong Kubernetes có cơ chế và phạm vi sử dụng riêng.

emptyDir

emptyDir được Kubernetes khởi tạo khi Pod được phân bổ đến một node. Ban đầu, volume chỉ là một thư mục trống, cho phép một hoặc nhiều container trong cùng Pod lưu file tạm, cache hoặc trao đổi dữ liệu với nhau.

Khi container gặp lỗi rồi khởi động lại, dữ liệu trong emptyDir vẫn được giữ nguyên miễn là Pod còn tồn tại. Đến khi Pod bị xóa khỏi node, toàn bộ dữ liệu cũng bị loại bỏ. Mặc định, emptyDir sử dụng ổ đĩa cục bộ của node; nếu khai báo medium: Memory, dữ liệu sẽ được lưu trong RAM.

ConfigMap, Secret, DownwardAPI và Projected Volume

So với emptyDir, các volume này không tạo không gian để ứng dụng thường xuyên ghi file tạm. Mục đích chính là cung cấp cấu hình, thông tin xác thực và metadata cần thiết trong quá trình container hoạt động.

ConfigMap, Secret, DownwardAPI và Projected Volume hỗ trợ đưa cấu hình hoặc thông tin từ Kubernetes vào container dưới dạng tệp tin:

- ConfigMap chứa những tham số cấu hình không nhạy cảm.

- Secret lưu mật khẩu, token, chứng chỉ và thông tin cần bảo mật.

- DownwardAPI cung cấp metadata của Pod như tên, namespace, label hoặc giới hạn tài nguyên.

- Projected Volume tập hợp dữ liệu từ ConfigMap, Secret, DownwardAPI và ServiceAccountToken vào cùng một thư mục.

CSI Ephemeral Volume

CSI Ephemeral Volume được cung cấp thông qua CSI driver có hỗ trợ cơ chế lưu trữ tạm thời. Volume được khai báo trực tiếp trong Pod spec; sau khi Pod được phân bổ đến node, CSI driver sẽ chuẩn bị và mount tài nguyên lưu trữ vào container.

CSI Ephemeral Volume đáp ứng những yêu cầu mà volume tích hợp sẵn của Kubernetes chưa hỗ trợ, chẳng hạn truy cập thiết bị chuyên dụng, tối ưu hiệu suất hoặc cung cấp dữ liệu theo cơ chế riêng. Khả năng triển khai phụ thuộc vào từng CSI driver nên cần kiểm tra tài liệu tương thích trước khi cấu hình.

Generic Ephemeral Volume

Generic Ephemeral Volume cho phép Pod yêu cầu tài nguyên lưu trữ động thông qua StorageClass. Dựa vào cấu hình trong Pod, Kubernetes tạo PersistentVolumeClaim tương ứng và tự động quản lý tài nguyên theo vòng đời Pod.

Điểm khác biệt so với CSI Ephemeral Volume nằm ở khả năng tận dụng storage driver đã hỗ trợ dynamic provisioning, không cần phát triển riêng driver dành cho volume tạm thời. Generic Ephemeral Volume phù hợp với workload cần lựa chọn dung lượng, StorageClass hoặc các tính năng lưu trữ nâng cao nhưng không yêu cầu giữ dữ liệu sau khi Pod bị xóa.

Các loại Ephemeral Volume trong Kubernetes

Cách cấu hình Ephemeral Volume với emptyDir

Để tạo lưu trữ tạm thời trong Kubernetes, cần khai báo emptyDir trong trường volumes, sau đó mount volume vào container thông qua volumeMounts. Ví dụ dưới đây tạo một volume tên temporary-data và gắn vào thư mục /usr/share/nginx/html:

apiVersion: v1
kind: Pod
metadata:
  name: emptydir-demo
spec:
  containers:
    - name: nginx
      image: nginx:alpine
      volumeMounts:
        - name: temporary-data
          mountPath: /usr/share/nginx/html

  volumes:
    - name: temporary-data
      emptyDir: {}

Trong cấu hình:

- volumes khai báo volume temporary-data thuộc loại emptyDir.

- volumeMounts kết nối volume với container.

- mountPath xác định thư mục dùng để đọc và ghi dữ liệu.

- emptyDir: {} sử dụng không gian lưu trữ cục bộ của node theo mặc định.

Sau khi lưu cấu hình vào tệp emptydir-demo.yaml, chạy lệnh sau để tạo Pod:

kubectl apply -f emptydir-demo.yaml

 

Kiểm tra trạng thái Pod bằng lệnh:

kubectl get pod emptydir-demo

Dữ liệu trong emptyDir vẫn tồn tại khi container khởi động lại, miễn là Pod chưa bị xóa. Khi Pod không còn tồn tại, Kubernetes cũng loại bỏ volume cùng toàn bộ dữ liệu bên trong. 

Để giới hạn dung lượng, bổ sung trường sizeLimit:

volumes:
  - name: temporary-data
    emptyDir:
      sizeLimit: 1Gi

Trường hợp cần tốc độ truy cập cao, có thể dùng RAM làm nơi lưu trữ:

volumes:
  - name: memory-cache
    emptyDir:
      medium: Memory
      sizeLimit: 256Mi

Với medium: Memory, Kubernetes tạo một hệ thống tệp tmpfs. Dung lượng sử dụng được tính vào bộ nhớ của container, vì vậy cần đặt sizeLimit và giới hạn RAM phù hợp để tránh ảnh hưởng đến hoạt động của Pod.

Khi nào nên và không nên sử dụng Ephemeral Volume?

Ephemeral Volume phù hợp với dữ liệu chỉ phục vụ quá trình xử lý và có thể tạo lại khi Pod mới được khởi tạo. Ngược lại, dữ liệu cần duy trì lâu dài, sao lưu hoặc khôi phục nên được lưu bằng Persistent Volume hay hệ thống lưu trữ chuyên dụng.

Nên sử dụng Ephemeral Volume 

Không nên sử dụng Ephemeral Volume

Lưu bộ nhớ đệm giúp ứng dụng truy cập dữ liệu nhanh hơn

Lưu dữ liệu của cơ sở dữ liệu

Tạo không gian tạm để xử lý ảnh, video hoặc tệp dung lượng lớn

Lưu tệp do người dùng tải lên

Chia sẻ dữ liệu giữa nhiều container trong cùng một Pod

Lưu dữ liệu giao dịch hoặc hồ sơ nghiệp vụ

Chuyển tệp từ init container sang container chính

Dữ liệu phải tiếp tục tồn tại sau khi Pod bị xóa

Lưu kết quả trung gian của Job hoặc tác vụ xử lý theo lô

Dữ liệu cần sao lưu và khôi phục khi xảy ra lỗi

Cung cấp cấu hình, Secret hoặc metadata cho container

Dữ liệu cần chia sẻ lâu dài giữa nhiều Pod

Chứa log tạm trước khi chuyển sang hệ thống quản lý tập trung

Log phải lưu giữ dài hạn để kiểm toán hoặc phân tích

Khi nào nên và không nên sử dụng Ephemeral Volume?

Kết luận

Hiểu rõ Ephemeral Volume là gì giúp người dùng lựa chọn đúng không gian lưu trữ cho cache, file tạm và dữ liệu trung gian trong Kubernetes. Do vòng đời gắn với Pod, Ephemeral Volume cần được cấu hình dung lượng hợp lý và không nên dùng cho dữ liệu quan trọng cần lưu giữ lâu dài.

Khi số lượng workload tăng, bài toán không còn dừng ở cấu hình volume mà còn mở rộng sang quản lý cluster, tài nguyên và tính ổn định của toàn hệ thống. Viettel Dedicated Kubernetes Service (vDKS) giúp doanh nghiệp triển khai Kubernetes nhanh hơn, quản lý tập trung và giảm áp lực vận hành hạ tầng nền tảng. 

Tham khảo dịch vụ tại: https://viettelidc.com.vn/viettel-kubernetes-service

Để được hỗ trợ tư vấn và tìm hiểu các dịch vụ của Viettel, bạn có thể liên hệ trực tiếp tới Viettel IDC qua các kênh:

- Hotline: 1800 8088 (miễn phí cước gọi)

- Fanpage: https://www.facebook.com/viettelidc  

Bình luận ()

Đăng nhập | Đăng ký
để gửi bình luận
Ý kiến của bạn sẽ được xét duyệt trước khi đăng.
Ý kiến của bạn sẽ được xét duyệt trước khi đăng.
Ý kiến của bạn sẽ được xét duyệt trước khi đăng.
Xem thêm bình luận

Tin liên quan

29/09/2026

"SOVEREIGN CLOUD" VÀ NGHỊCH LÝ CHUYỂN ĐỔI SỐ: GIẢI MÃ BÀI TOÁN TUÂN THỦ CHO NGÀNH TÀI CHÍNH & CHÍNH PHỦ

Các tổ chức thuộc nhóm ngành trọng yếu như tài chính, ngân hàng (BFSI) và cơ quan nhà nước đang khao khát hiện đại hóa hệ thống IT (chuyển đổi sang kiến trúc Microservices, sử dụng Container/Kubernetes) để tăng tốc độ triển khai dịch vụ và nâng cao trải nghiệm người dùng. Tuy nhiên, họ lại đang vấp phải một "nghịch lý" lớn: Càng muốn áp dụng công nghệ Cloud hiện đại, rào cản về tuân thủ pháp lý và an toàn thông tin càng trở nên khắt khe.

29/09/2026

BÀI TOÁN "NOISY NEIGHBOR" TRÊN CLOUD VÀ CHIẾN LƯỢC TỐI ƯU HIỆU NĂNG CHO HỆ THỐNG CỐT LÕI

Trong kỷ nguyên mà dữ liệu là "dầu mỏ mới", việc vận hành các hệ thống xương sống (Core ERP, Core Banking) hay các workload tính toán chuyên sâu (AI, Machine Learning, Datalake) đòi hỏi năng lực phần cứng vô cùng mạnh mẽ.

27/09/2026

"BÃO GIÁ" HẠ TẦNG CNTT VÀ BÀI TOÁN SỐNG CÒN CỦA DOANH NGHIỆP: VÌ SAO PRIVATE CLOUD DẠNG DỊCH VỤ LÊN NGÔI?

Làn sóng bùng nổ hạ tầng AI toàn cầu đang tạo ra một "cơn địa chấn" về giá phần cứng máy chủ, chip nhớ DRAM, ổ cứng doanh nghiệp và chi phí năng lượng. Đứng trước áp lực phải chuyển đổi số nhưng lại vấp phải bài toán chi phí đầu tư (CapEx) đắt đỏ cùng thời gian giao hàng kéo dài hàng tháng, các nhà quản trị công nghệ (CIO) và tài chính (CFO) đang tìm kiếm một hướng đi mới: Không cần bỏ hàng tỷ đồng mua sắm hạ tầng mà vẫn sở hữu riêng một hệ thống Private Cloud hoàn chỉnh, an toàn và sẵn sàng vận hành ngay lập tức.

29/09/2026

Digital Workplace là gì? Xu hướng môi trường làm việc số cho doanh nghiệp

Digital Workplace là gì? Khám phá mô hình vận hành, thành phần, lợi ích, ứng dụng, thách thức và xu hướng môi trường làm việc số cho doanh nghiệp.

29/09/2026

Lỗ hổng Shellshock là gì? Cơ chế, tác động và cách khắc phục

Lỗ hổng Shellshock (CVE-2014-6271) trong Bash là gì, vì sao nghiêm trọng? Tìm hiểu nguyên nhân, hệ thống bị ảnh hưởng và cách kiểm tra, vá lỗi.

29/09/2026

Scratch là gì? Cách hoạt động, ứng dụng và đối tượng phù hợp

Scratch là gì? Tìm hiểu cách lập trình bằng khối lệnh, các khái niệm có thể học, ứng dụng thực tế và sự khác nhau giữa Scratch với ScratchJr.

29/09/2026

Phân biệt các loại Web Hosting: Đâu là lựa chọn phù hợp cho website?

Phân biệt các loại Web Hosting và tìm hiểu cách mỗi mô hình hoạt động, từ đó lựa chọn giải pháp phù hợp với nhu cầu, quy mô và định hướng phát triển website.

29/09/2026

Website có cần hosting không? Giải đáp chi tiết từ A-Z

Website có cần hosting không? Tìm hiểu vai trò của hosting, domain và các trường hợp cần và không cần mua hosting riêng cho website.

29/09/2026

Top nhà cung cấp dịch vụ Cloud Camera uy tín tại Việt Nam

Top nhà cung cấp dịch vụ Cloud Camera uy tín tại Việt Nam, cùng tiêu chí lựa chọn và những lưu ý quan trọng trước khi đăng ký dịch vụ.

28/09/2026

Trigger là gì trong DBMS? Cách hoạt động, các loại phổ biến và ứng dụng

Trigger là gì trong DBMS? Tìm hiểu cách trigger hoạt động, các loại phổ biến, ví dụ minh họa, ưu nhược điểm và khi nào nên sử dụng.