Kubernetes bổ sung siêu dữ liệu tương thích hình ảnh thông qua Node Feature Discovery
Một đặc tả mới cho phép các hình ảnh container khai báo yêu cầu về hệ điều hành và phần cứng của máy chủ, giúp tự động hóa việc xác thực trước khi lập lịch trong các cụm Kubernetes.
Được dịch tự động từ bản gốc tiếng Anh.
Trong một bài đăng trên Blog Kubernetes vào tháng 6 năm 2025, các kỹ sư từ Huawei và Lawrence Livermore National Laboratory đã mô tả một phương pháp mới để xử lý tính tương thích của container. Đề xuất này giải quyết cách thức mà các ứng dụng chuyên biệt có thể khai báo trực tiếp trong siêu dữ liệu hình ảnh của chúng những nhu cầu cụ thể về hệ điều hành hoặc phần cứng của máy chủ. Cách tiếp cận này tận dụng dự án Node Feature Discovery hiện có để thu hẹp khoảng cách giữa yêu cầu của container và khả năng của nút cụm.
Điều gì đã xảy ra
Các ứng dụng đóng gói container trong các lĩnh vực như viễn thông, điện toán hiệu năng cao và AI thường phụ thuộc vào cấu hình máy chủ chính xác. Những phụ thuộc này có thể bao gồm phiên bản kernel cụ thể, trình điều khiển thiết bị hoặc thư viện hệ thống không nằm trong hình ảnh container tiêu chuẩn. Mặc dù Open Container Initiative cung cấp các tiêu chuẩn cho định dạng hình ảnh, nhưng trước đây nó thiếu một cách thống nhất để biểu đạt các yêu cầu tương thích ở cấp độ máy chủ. Khoảng trống này buộc các nhóm phải dựa vào việc cấu hình thủ công trước đó hoặc thiết lập cơ sở hạ tầng bất biến (immutable infrastructure), vốn rất khó quản lý trong môi trường đa đám mây.
Để giải quyết vấn đề này, các tác giả đã đề xuất một đặc tả cho siêu dữ liệu tương thích hình ảnh. Đặc tả này cho phép người tạo container xác định chính xác những tính năng máy chủ nào mà ứng dụng của họ cần. Đề xuất đã được triển khai trong khuôn khổ dự án Kubernetes Node Feature Discovery (NFD). NFD là một công cụ mã nguồn mở tự động phát hiện và báo cáo các tính năng phần cứng và phần mềm của các nút trong cụm. Bằng cách tích hợp siêu dữ liệu tương thích với NFD, người dùng giờ đây có thể lập lịch tải công việc chỉ trên các nút đáp ứng các yêu cầu hệ thống nghiêm ngặt được định nghĩa bởi hình ảnh container.
Việc triển khai hỗ trợ nhiều công nghệ container khác ngoài Kubernetes, bao gồm Singularity và các OCI artifacts khác. Nó nhằm mục đích làm cho các yêu cầu tương thích trở nên dễ khám phá và có thể lập trình được. Điều này có nghĩa là thay vì đoán xem một nút có thể chạy một tải công việc cụ thể hay không, hệ thống có thể tự động xác thực sự phù hợp trước khi bắt đầu triển khai. Điều này giảm thiểu rủi ro lỗi thời gian chạy do thiếu trình điều khiển hoặc các module kernel không tương thích.
Cơ chế hoạt động
Cơ chế cốt lõi dựa vào việc gắn một artifact tương thích có cấu trúc vào hình ảnh container trong registry. Artifact này sử dụng API referrers của OCI để liên kết siêu dữ liệu với hình ảnh cụ thể mà nó mô tả. Bản thân siêu dữ liệu là một tệp YAML liệt kê các "Node Feature Groups" (Nhóm tính năng nút) bắt buộc. Các nhóm này định nghĩa các quy tắc dựa trên các tính năng mà NFD có thể phát hiện, chẳng hạn như các module kernel đã nạp, kiểu CPU hoặc thiết bị PCI.

Khi người dùng muốn triển khai một hình ảnh, một công cụ khách sẽ truy xuất artifact tương thích từ registry. Sau đó, nó so sánh các yêu cầu được liệt kê trong artifact với các tính năng thực tế được báo cáo bởi nút đích. Nếu nút khớp với tất cả các quy tắc được chỉ định, quá trình xác thực sẽ thành công. Quy trình này có thể diễn ra bên trong hoặc bên ngoài cụm Kubernetes, mang lại sự linh hoạt cho các kịch bản hybrid cloud. Hệ thống sử dụng các biểu thức khớp để kiểm tra sự tồn tại của các tính năng cụ thể hoặc để xác minh rằng các giá trị nằm trong phạm vi cho phép.
Chi tiết chính
- Đặc tả được công bố vào ngày 25 tháng 6 năm 2025 bởi Chaoyi Huang, Marcin Franczyk và Vanessa Sochat.
- Nó tích hợp với Kubernetes Node Feature Discovery (NFD) để khớp yêu cầu của container với khả năng của nút.
- Siêu dữ liệu tương thích được lưu trữ dưới dạng OCI artifact và được gắn vào hình ảnh bằng công cụ
oras. - Schema bao gồm các trường cho version, compatibilities, rules, weight, tag và description.
- Việc xác thực có thể được thực hiện bằng lệnh
nfd compat validate-nodetrước khi lập lịch. - Cách tiếp cận này hỗ trợ nhiều môi trường khác nhau, bao gồm RHCOS, Photon OS, Amazon Linux 2 và Azure Linux OS.
Tại sao điều này quan trọng
Đối với các kỹ sư xây dựng sản phẩm trong các ngành công nghiệp chịu sự quản lý chặt chẽ hoặc nhạy cảm về hiệu suất, thay đổi này giảm bớt ma sát vận hành. Trước đây, việc đảm bảo rằng một container có thể chạy trên một nút cụ thể đòi hỏi kiến thức sâu rộng về cơ sở hạ tầng nền tảng hoặc thử nghiệm extensive. Với siêu dữ liệu tương thích rõ ràng, pipeline triển khai có thể tự động từ chối các nút không phù hợp. Điều này ngăn ngừa các lỗi thời gian chạy tốn kém và đảm bảo rằng các ứng dụng có phụ thuộc phần cứng nghiêm ngặt, chẳng hạn như những ứng dụng sử dụng GPU hoặc Infiniband, chạy trên cơ sở hạ tầng thích hợp.
Sự phát triển này cũng đơn giản hóa các chiến lược multi-cloud và hybrid cloud. Các nhà cung cấp đám mây khác nhau sử dụng các hệ điều hành cơ sở khác nhau, mỗi loại có cấu hình kernel và bộ trình điều khiển độc đáo. Bằng cách định nghĩa các yêu cầu theo cách chuẩn hóa, các nhóm có thể viết một lần và triển khai mọi nơi, miễn là các nút đích phơi bày các tính năng cần thiết thông qua NFD. Tính di động này rất quan trọng đối với các tổ chức cần tránh khóa vendor lock-in trong khi vẫn duy trì độ tin cậy cao.
Hơn nữa, điều này đặt nền móng cho việc lập lịch thông minh hơn trong tương lai. Khi hệ sinh thái áp dụng các tiêu chuẩn này, các bộ lập lịch có thể tự động cấu hình các nút hoặc chọn phần cứng tối ưu dựa trên hồ sơ tương thích được khai báo. Điều này đưa ngành công nghiệp tiến gần hơn đến cơ sở hạ tầng hoàn toàn tự động, tự chữa lành (self-healing), nơi vị trí đặt tải công việc được thúc đẩy bởi các ràng buộc kỹ thuật chính xác thay vì các nhãn chung chung.
Bạn có thể làm gì
- Khám phá tài liệu dự án Node Feature Discovery để hiểu cách nó phát hiện các tính năng phần cứng và phần mềm.
- Sử dụng công cụ
orasđể gắn các artifact tương thích vào hình ảnh container của bạn trong các registry tuân thủ OCI. - Định nghĩa các quy tắc tương thích ở định dạng YAML, chỉ định các module kernel, nhà cung cấp CPU hoặc thiết bị PCI bắt buộc.
- Kiểm tra công cụ khách
nfd compat validate-nodeđể xem các nút hiện tại của bạn có đáp ứng yêu cầu hình ảnh của bạn hay không. - Tham gia cộng đồng Kubernetes Node Feature Discovery để đóng góp vào sự phát triển đang diễn ra của Image Compatibility API.
- Xem xét lại các ứng dụng container hiện có của bạn để xác định bất kỳ phụ thuộc ẩn nào về hệ điều hành máy chủ có thể hưởng lợi từ đặc tả này.


