Podman 6.0: Tạm Biệt CNI, iptables, Slirp4netns — Container Engine Chuyển Mình

Ngày 2/7/2026, Podman chính thức phát hành phiên bản 6.0.0 — bản nâng cấp major đầu tiên sau hơn một năm. Đây không phải là một bản cập nhật tính năng đơn thuần: Podman 6 loại bỏ hàng loạt công nghệ cũ, thay đổi cách thức hoạt động của networking, storage, và quản lý cấu hình. Nếu bạn đang chạy Podman trong production, có những thứ bạn cần biết trước khi nâng cấp.
Breaking Changes: Ai Đang Dùng Podman Cũ Sẽ Bị Ảnh Hưởng
Đây là phần quan trọng nhất của bản phát hành. Podman 6 cắt bỏ hoàn toàn nhiều thành phần đã tồn tại từ những ngày đầu, buộc người dùng phải chuyển đổi:
Networking Stack Mới: Netavark + nftables + Pasta
- CNI bị loại bỏ hoàn toàn. Podman giờ chỉ hỗ trợ Netavark làm network backend. Netavark được viết bằng Rust, thiết kế riêng cho Podman, hỗ trợ dual-stack IPv4/IPv6 và DNS nội bộ tốt hơn CNI. Nếu bạn còn dùng plugin CNI tùy chỉnh, cần chuyển sang Netavark driver model.
- iptables không còn được hỗ trợ. Bắt buộc dùng nftables. Đây là xu hướng chung của Linux networking — iptables đã deprecated từ kernel 4.x, nhưng Podman là một trong những công cụ container đầu tiên mạnh tay cắt hoàn toàn.
- Slirp4netns bị bỏ, thay bằng Pasta — rootless network stack mới nhẹ hơn, nhanh hơn. Pasta có hỗ trợ thử nghiệm Pesto — port forwarding rootless giữ nguyên được source IP gốc. Điều này có ý nghĩa lớn với các ứng dụng cần log IP thật của client (rate limiting, geo-filtering, audit trail) khi chạy rootless container.
Các phiên bản phụ thuộc tối thiểu: Buildah v1.44.0, Skopeo v1.23, Netavark + Aardvark v2.0.0.
Hệ Thống Khác Bị Loại Bỏ
| Công nghệ cũ | Lý do |
|---|---|
| cgroups v1 | cgroups v2 đã là tiêu chuẩn từ Linux kernel 5.x |
| BoltDB | Chuyển hoàn toàn sang SQLite (tự động migrate khi khởi động) |
| Intel Mac | Apple Silicon là tương lai, Intel Mac không còn được Apple hỗ trợ |
| Windows 10 | Microsoft sắp kết thúc hỗ trợ Windows 10 |
Vá CVE-2026-57231: Rò Rỉ Biến Môi Trường Host
Bản phát hành này vá một lỗ hổng bảo mật nghiêm trọng (GHSA-4hq8-gpf5-8p68): container image độc hại có thể dùng biến Env malformed để đọc biến môi trường từ host. Kẻ tấn công còn có thể dùng wildcard * để quét hàng loạt biến mà không cần biết tên chính xác. Đây là kiểu tấn công nguy hiểm với CI/CD pipeline — nơi biến môi trường thường chứa token, secret key, và credential.
Features Mới Đáng Chú Ý
AMD GPU Support
--gpus giờ hỗ trợ AMD GPU, bên cạnh NVIDIA. Với sự phát triển của ROCm và các model AI chạy local, đây là bổ sung quan trọng cho developer muốn dùng container để chạy inference mà không bị lock-in vào NVIDIA. Một container image duy nhất giờ có thể chạy trên cả hai dòng GPU.
Quadlet Mạnh Mẽ Hơn
Quadlet — công cụ sinh systemd unit từ container — nhận được bản nâng cấp lớn. Điều này có nghĩa là:
- REST API để quản lý Quadlet: bạn có thể tự động hóa deploy container qua API thay vì phải SSH vào máy chỉnh file
.volumeunits có thêmUID=,GID=,Options=— kiểm soát permission volume chính xác hơn, tránh lỗi permission khi container chạy với user khác root- Search path mới giúp distro đóng gói Quadlet dễ hơn — nghĩa là sắp tới các bản phân phối Linux sẽ có sẵn Quadlet file cho các service phổ biến
- Quadlet và file liên quan giờ được lưu trong subdirectory thay vì file
.app— giảm bug khi xóa Quadlet, dễ quản lý thủ công hơn
Podman Machine Cải Tiến
Tất cả lệnh podman machine giờ hoạt động được với VM từ mọi provider. Điều này giải quyết vấn đề thực tế: bạn có thể có một VM Apple Hypervisor để dev local và một VM libkrun để kiểm thử production-like — không cần chuyển đổi provider liên tục. Lệnh podman machine os update mới giúp cập nhật OS trong VM mà không phải tạo lại từ đầu, tiết kiệm thời gian setup.
Docker Compatibility Tốt Hơn
podman volume prunegiờ khớp behavior của Docker — chỉ prune anonymous volumes (tránh xóa nhầm named volume). Thêm--allđể prune tất cả- Network isolation bật mặc định
- Format output
--format='{{json .Labels}}'giờ dùngkey=valuepairs thay vì JSON map
Podman Gia Nhập CNCF
Một thay đổi quan trọng nhưng ít được chú ý: import path của Podman chuyển từ github.com/containers/podman/v5 sang go.podman.io/podman/v6 — đánh dấu việc project chính thức chuyển sang tổ chức GitHub do CNCF sở hữu. Tại sao điều này quan trọng?
- Governance độc lập: Podman không còn là "dự án của Red Hat" mà có hội đồng kỹ thuật riêng, roadmap minh bạch hơn
- Community ownership: quyết định lớn không phụ thuộc vào một công ty — giảm rủi ro vendor lock-in
- Tương lai tích hợp: nằm trong CNCF giúp Podman tích hợp sâu hơn với Kubernetes, Helm, và các công cụ cloud native khác
Đây là tín hiệu cho thấy Podman đang hướng tới vị thế container engine chuẩn trong hệ sinh thái cloud native, thay vì chỉ là "Docker alternative".
Những Điều Developer Cần Làm
- Trước khi nâng cấp: kiểm tra cgroups v2 (
stat -fc %T /sys/fs/cgroup/). Nếu chưa, cần nâng cấp OS - iptables → nftables: đảm bảo firewall rules hiện tại có bản tương đương nftables
- CNI plugins: chuyển sang Netavark driver model
- BoltDB tự động migrate: nhưng nên backup SQLite database sau khi migrate
- Rootless network: Slirp4netns → Pasta. Đa số trường hợp Pasta hoạt động ngay, không cần cấu hình thêm
- Cập nhật toolchain: Buildah 1.44, Skopeo 1.23, Netavark/Aardvark 2.0
Takeaways Cho Developer
- Networking stack duy nhất: CNI, iptables, slirp4netns bị loại bỏ hoàn toàn, thay bằng Netavark + nftables + Pasta
- CVE-2026-57231 đã được vá: lỗ hổng cho phép container image độc hại đọc biến môi trường host qua
Envmalformed và wildcard* - Storage và OS support thu gọn: BoltDB → SQLite, cgroups v1 bị bỏ, Intel Mac và Windows 10 không còn được hỗ trợ
- Feature mới đáng chú ý: AMD GPU support, Quadlet có REST API,
podman machinehoạt động với mọi provider - Gia nhập CNCF: Podman không còn là "dự án của Red Hat" mà có governance độc lập, roadmap minh bạch hơn
Podman 6.0 là bản cắt bỏ mạnh tay nhất trong lịch sử project — và đó là điều tốt. Việc tập trung vào một stack networking duy nhất giúp đơn giản hóa maintenance, giảm surface attack, và mở đường cho các tính năng tương lai.
Breaking changes có thể gây đau đầu khi nâng cấp, nhưng hướng đi rất rõ ràng. Nếu bạn chưa dùng Podman, đây là thời điểm tốt để thử. Nếu đã dùng, hãy kiểm thử kỹ trong staging trước khi lên production.
Bài viết được hỗ trợ bởi AI (Amy 🌸). Nội dung đã được kiểm duyệt bởi tác giả.
Related Posts
Podman: Container Không Cần Daemon, Bảo Mật Hơn Docker?
Podman chạy container không cần daemon root, giảm bề mặt tấn công và tương thích hoàn toàn với Docker CLI. Đã đến lúc chuyển đổi?
Bảo Mật Chuỗi Cung Ứng Dụng: SBOM, SLSA và Chữ Ký Artifact Cho Developer
Mỗi dòng dependency kéo về đều là rủi ro. SBOM, SLSA và Cosign — bộ công cụ bảo mật chuỗi cung ứng tích hợp trong CI/CD cho developer.
Quản Lý Secrets Trong DevOps: Đừng Để API Key Trong Code
Hardcoded secrets trong codebase là lỗ hổng bảo mật phổ biến nhất. Vault, SOPS và GitOps secrets giúp quản lý credentials an toàn.