Ephemeral Volume là gì? Cách sử dụng lưu trữ tạm thời trong Kubernetes
31/07/2026Khô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.
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á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:
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:
Kiểm tra trạng thái Pod bằng lệnh:
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:
Trường hợp cần tốc độ truy cập cao, có thể dùng RAM làm nơi lưu trữ:
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.
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
Tin nổi bật
Tin liên quan
Cổng SATA là gì? Cách nhận biết và kết nối ổ HDD, SSD
Cổng SATA là gì? Cách nhận biết cổng SATA trên mainboard, phân biệt các phiên bản và kiểm tra ổ HDD, SSD có tương thích trước khi nâng cấp.
Microsoft Publisher là gì? Tổng quan về phần mềm thiết kế dàn trang
Microsoft Publisher là gì? Đây là phần mềm dàn trang của Microsoft, hỗ trợ thiết kế ấn phẩm bằng các mẫu có sẵn và công cụ sắp xếp văn bản, hình ảnh linh hoạt.
Có nên sử dụng các công cụ Text to speech miễn phí? Ưu điểm và hạn chế
Có nên sử dụng các công cụ Text to Speech miễn phí? Cân nhắc chất lượng giọng đọc, hạn mức và quyền sử dụng để biết khi nào bản miễn phí đủ dùng hoặc cần nâng cấp.
Kiến trúc Client Server là gì? Cách mô hình máy chủ - máy khách hoạt động
Kiến trúc Client Server là gì? Đây là mô hình máy khách - máy chủ, tổ chức việc gửi yêu cầu, xử lý và trao đổi dữ liệu trong các ứng dụng và dịch vụ mạng.
Cấu trúc silo là gì trong SEO? Cách xây dựng cấu trúc silo cho website
Cấu trúc silo là gì? Nắm rõ cách phân nhóm nội dung, phân biệt silo vật lý và silo ảo để xây dựng website dễ điều hướng, thuận tiện quản lý và hỗ trợ SEO.
Top 15 các phần mềm quay lại màn hình miễn phí cho máy tính và điện thoại
Các phần mềm quay lại màn hình miễn phí giúp bạn ghi hình rõ nét, lưu lại thao tác và tạo video hướng dẫn trực quan cho nhu cầu học tập, làm việc hằng ngày.
Postfix là gì? Hướng dẫn cài đặt và cấu hình trên Ubuntu
Postfix là gì được giải đáp qua vai trò của phần mềm chuyển thư mã nguồn mở, giúp doanh nghiệp chủ động quản lý luồng email và cấu hình hệ thống trên Linux.
Cách quét mã độc cho website WordPress và lưu ý bảo mật cần biết
Cách quét mã độc cho website WordPress giúp phát hiện tệp đáng ngờ, xác định dấu vết xâm nhập và hỗ trợ xử lý sớm nguy cơ ảnh hưởng đến dữ liệu, người truy cập.
Top 20 các plugin hữu ích cho WordPress tốt nhất nên cài đặt
Các plugin hữu ích cho WordPress giúp mở rộng chức năng sẵn có của website, cải thiện trải nghiệm người dùng và đơn giản hóa công việc quản trị hằng ngày.
Hướng dẫn cài đặt các ứng dụng trên Ubuntu cho người mới
Hướng dẫn cài đặt các ứng dụng trên Ubuntu chi tiết từng bước, giúp người mới dễ dàng thao tác từ tải phần mềm, thiết lập gói cài đến khởi chạy ứng dụng.
Bình luận ()