Container runtime là gì? 2 loại phổ biến

Vệc sử dụng container để triển khai ứng dụng đã trở thành một xu hướng phổ biến. Tuy nhiên, không phải ai cũng hiểu rõ “container runtime là gì” và vai trò quan trọng của nó trong quá trình vận hành container. Trong bài viết này, chúng ta sẽ tìm hiểu chi tiết về container runtime. Géc goo!

Xem thêm:

Kubernetes là gì

Kubenetes Deployments là gì

Tại sao cần container runtime

  • Làm sao để quản lý nhiều container và biết container nào đang đang chạy gì và được dùng cho process nào.
  • Các container có sẵn trên container registry, làm sao để tải chúng xuống.
  • Chúng ta phải chạy rất nhiều câu lệnh để tạo container như linux namespace và cgroup. Sau đó muốn xóa thì phải chạy thêm nhiều câu lệnh để clear namespace và group.

Để thực hiện được những nhiệm vụ này nhanh chóng và tối ưu, chúng ta cần một công cụ để quản lý. Chính vì thế container runtime ra đời.

Container Runtime

Container runtime là gì?

Container runtime là công cụ đóng vai trò quản lý tất cả quá trình running của một container, bao gồm tạo và xóa container, đóng gói và chia sẻ container.

Container runtime được chia ra làm hai loại:

  • Low-level container runtime: với nhiệm vụ chính là tạo và xóa container. Các công việc mà low level container runtime làm là:
    • Tạo cgroup.
    • Chạy CLI trong cgroup.
    • Chạy câu lệnh Unshare để tạo namespaces riêng.
    • Cấu hình root filesystem.
    • Clean up cgroup sau khi câu lệnh hoàn tất.
  • High-level container runtime: quản lý container, tải container image sau đó giải nén container image đó ra và truyền vào trong low-level container runtime để nó tạo và chạy container. Một trong những high level container runtime phổ biến chắc có lẽ là containerd, containerd cung cấp cho ta những tính năng sau:
    • Tải container image từ container registry.
    • Quản lý container image.
    • Chạy container từ container image đó.
    • Quản lý nhiều container.

Container Runtime là gì

Hy vọng rằng bài viết này đã cung cấp cho bạn cái nhìn rõ nét và toàn diện về container runtime. Cảm ơn bạn đã tham khảo kubernetes cơ bản trên ttnguyen.net.

Bài viết liên quan:

POD trong kubernetes là gì?

Replication Controller là gì?

Nguyễn Tiến Trường

Mình viết về những điều nhỏ nhặt trong cuộc sống, Viết về câu chuyện những ngày không có em