Ra mắt công cụ quản lý container LXC và LXD 4.0

Công ty Canonical được phát hành phát hành các công cụ để tổ chức công việc của các container bị cô lập LXC 4.0, quản lý container LXD 4.0 và FS ảo LXCFS 4.0 để mô phỏng trong các vùng chứa /proc, /sys và biểu diễn cgroupfs ảo hóa cho các bản phân phối mà không hỗ trợ cho các không gian tên cgroup. Nhánh 4.0 được phân loại là bản phát hành hỗ trợ dài hạn, các bản cập nhật được tạo trong khoảng thời gian 5 năm

LXC là thời gian chạy để chạy cả bộ chứa hệ thống và bộ chứa OCI. LXC bao gồm thư viện liblxc, một bộ tiện ích (lxc-create, lxc-start, lxc-stop, lxc-ls, v.v.), các mẫu để xây dựng vùng chứa và một bộ liên kết cho các ngôn ngữ lập trình khác nhau. Việc cách ly được thực hiện bằng cách sử dụng các cơ chế nhân Linux tiêu chuẩn. Để cô lập các tiến trình, ngăn xếp mạng ipc, uts, ID người dùng và điểm gắn kết, cơ chế không gian tên được sử dụng. cgroups được sử dụng để hạn chế tài nguyên. Để hạ thấp đặc quyền và hạn chế quyền truy cập, các tính năng kernel như cấu hình Apparmor và SELinux, chính sách Seccomp, Chroots (pivot_root) và các khả năng sẽ được sử dụng. Mã LXC được viết bởi bằng ngôn ngữ C và được phân phối theo giấy phép GPLv2.

LXD là một tiện ích bổ sung cho LXC, CRIU và QEMU, được sử dụng để quản lý tập trung các thùng chứa và máy ảo trên một hoặc nhiều máy chủ. Nếu LXC là bộ công cụ cấp thấp để thao tác ở cấp độ các vùng chứa riêng lẻ thì LXD được triển khai dưới dạng quy trình nền chấp nhận các yêu cầu qua mạng thông qua API REST và cho phép bạn tạo các cấu hình có thể mở rộng được triển khai trên một cụm gồm nhiều máy chủ.
Hỗ trợ nhiều phụ trợ lưu trữ khác nhau (cây thư mục, ZFS, Btrfs, LVM), ảnh chụp nhanh với một lát trạng thái, di chuyển trực tiếp các vùng chứa đang chạy từ máy này sang máy khác và các công cụ để tổ chức lưu trữ hình ảnh. Mã LXD được viết bởi trong Go và được phân phối theo giấy phép Apache 2.0.

Chìa khóa cải tiến trong LXC 4.0:

  • Trình điều khiển đã được viết lại hoàn toàn để hoạt động với cgroup. Đã thêm hỗ trợ cho hệ thống phân cấp nhóm thống nhất (cgroup2). Đã thêm chức năng bộ điều khiển tủ đông, nhờ đó bạn có thể dừng công việc trong một nhóm và tạm thời giải phóng một số tài nguyên (CPU, I/O và thậm chí cả bộ nhớ) để thực hiện các tác vụ khác;
  • Triển khai cơ sở hạ tầng để chặn các cuộc gọi hệ thống;
  • Đã thêm hỗ trợ cho hệ thống con kernel "pidfd", được thiết kế để xử lý tình huống tái sử dụng PID (pidfd được liên kết với một quy trình cụ thể và không thay đổi, trong khi PID có thể được liên kết với một quy trình khác sau khi quy trình hiện tại được liên kết với PID đó chấm dứt) ;
  • Cải thiện việc tạo và xóa các thiết bị mạng cũng như sự di chuyển của chúng giữa các không gian tên hệ thống con mạng;
  • Khả năng di chuyển các thiết bị mạng không dây (nl80211) vào các thùng chứa đã được triển khai.

Chìa khóa cải tiến trong LXD 4.0:

  • Đã thêm hỗ trợ để khởi chạy không chỉ vùng chứa mà cả máy ảo;
  • Để phân khúc máy chủ LXD, một khái niệm dự án đã được đề xuất nhằm đơn giản hóa việc quản lý các nhóm vùng chứa và máy ảo. Mỗi dự án có thể bao gồm bộ chứa, máy ảo, hình ảnh, hồ sơ và phân vùng lưu trữ riêng. Liên quan đến các dự án, bạn có thể đặt ra các hạn chế của riêng mình và thay đổi cài đặt;
  • Đã thêm hỗ trợ để chặn các cuộc gọi hệ thống cho vùng chứa;
  • Đã triển khai việc tạo các bản sao lưu của môi trường và khôi phục từ chúng;
  • Tự động tạo ảnh chụp nhanh của môi trường và phân vùng lưu trữ được cung cấp khả năng thiết lập thời gian tồn tại của ảnh chụp nhanh;
  • Đã thêm API để theo dõi trạng thái mạng (thông tin mạng lxc);
  • Đã thêm hỗ trợ shiftfs, FS ảo để ánh xạ các điểm gắn kết tới không gian tên người dùng;
  • Các loại bộ điều hợp mạng mới “ipvlan” và “định tuyến” đã được đề xuất;
  • Đã thêm phần phụ trợ để sử dụng bộ lưu trữ dựa trên CephFS;
  • Hỗ trợ sao chép hình ảnh và cấu hình đa kiến ​​trúc đã được triển khai cho các cụm;
  • Đã thêm kiểm soát truy cập dựa trên vai trò (RBAC);
  • Đã thêm hỗ trợ cho CGroup2;
  • Đã thêm khả năng định cấu hình địa chỉ MAC và xác định địa chỉ nguồn cho NAT;
  • Đã thêm API để quản lý các ràng buộc DHCP (cho thuê);
  • Đã thêm hỗ trợ cho Nftables.

Nguồn: opennet.ru

Thêm một lời nhận xét