Rilis alat manajemen kontainer LXC dan LXD 4.0

Resmi опубликовала pelepasan alat untuk mengatur pekerjaan wadah yang terisolasi LXC 4.0, manajer kontainer LXD 4.0 dan FS virtual LXCFS 4.0 untuk simulasi di/proc,/sys container dan representasi cgroupfs tervirtualisasi untuk distribusi tanpa dukungan untuk namespace cgroup. Cabang 4.0 diklasifikasikan sebagai rilis dukungan jangka panjang, pembaruan yang dihasilkan selama jangka waktu 5 tahun

LXC adalah runtime untuk menjalankan kontainer sistem dan kontainer OCI. LXC menyertakan perpustakaan liblxc, satu set utilitas (lxc-create, lxc-start, lxc-stop, lxc-ls, dll.), templat untuk membuat container, dan satu set binding untuk berbagai bahasa pemrograman. Isolasi dilakukan menggunakan mekanisme kernel Linux standar. Untuk mengisolasi proses, tumpukan jaringan ipc, uts, ID pengguna dan titik pemasangan, mekanisme namespace digunakan. cgroups digunakan untuk membatasi sumber daya. Untuk menurunkan hak istimewa dan membatasi akses, fitur kernel seperti profil Apparmor dan SELinux, kebijakan Seccomp, Chroots (pivot_root) dan kemampuan digunakan. Kode LXC ditulis oleh dalam bahasa C dan didistribusikan di bawah lisensi GPLv2.

LXD adalah add-on untuk LXC, CRIU dan QEMU yang digunakan untuk mengelola container dan mesin virtual secara terpusat di satu atau lebih server. Jika LXC adalah toolkit tingkat rendah untuk manipulasi di tingkat kontainer individual, maka LXD diimplementasikan sebagai proses latar belakang yang menerima permintaan melalui jaringan melalui REST API dan memungkinkan Anda membuat konfigurasi terukur yang diterapkan pada sekelompok beberapa server.
Berbagai backend penyimpanan didukung (pohon direktori, ZFS, Btrfs, LVM), snapshot dengan potongan status, migrasi langsung dari container yang berjalan dari satu mesin ke mesin lainnya, dan alat untuk mengatur penyimpanan gambar. Kode LXD ditulis oleh di Go dan didistribusikan di bawah lisensi Apache 2.0.

Kunci perbaikan di LXC 4.0:

  • Pengemudi telah sepenuhnya ditulis ulang untuk bekerja dengan cgroup. Menambahkan dukungan untuk hierarki cgroup terpadu (cgroup2). Menambahkan fungsionalitas pengontrol freezer, yang dengannya Anda dapat berhenti bekerja di cgroup dan untuk sementara membebaskan beberapa sumber daya (CPU, I/O, dan bahkan mungkin memori) untuk melakukan tugas lain;
  • Infrastruktur yang diterapkan untuk mencegat panggilan sistem;
  • Menambahkan dukungan untuk subsistem kernel "pidfd", yang dirancang untuk menangani situasi penggunaan kembali PID (pidfd dikaitkan dengan proses tertentu dan tidak berubah, sedangkan PID dapat dikaitkan dengan proses lain setelah proses saat ini yang terkait dengan PID tersebut berakhir) ;
  • Peningkatan pembuatan dan penghapusan perangkat jaringan, serta pergerakannya antar namespace subsistem jaringan;
  • Kemampuan untuk memindahkan perangkat jaringan nirkabel (nl80211) ke dalam container telah diterapkan.

Kunci perbaikan di LXD 4.0:

  • Menambahkan dukungan untuk meluncurkan tidak hanya container, tetapi juga mesin virtual;
  • Untuk mengelompokkan server LXD, sebuah konsep proyek telah diusulkan yang menyederhanakan pengelolaan kelompok kontainer dan mesin virtual. Setiap proyek dapat menyertakan kumpulan kontainer, mesin virtual, gambar, profil, dan partisi penyimpanannya sendiri. Sehubungan dengan proyek, Anda dapat menetapkan batasan Anda sendiri dan mengubah pengaturan;
  • Menambahkan dukungan untuk mencegat panggilan sistem untuk container;
  • Menerapkan pembuatan salinan cadangan lingkungan dan pemulihannya;
  • Pembuatan snapshot lingkungan dan partisi penyimpanan secara otomatis disediakan dengan kemampuan untuk mengatur masa pakai snapshot;
  • Menambahkan API untuk memantau status jaringan (info jaringan lxc);
  • Ditambahkan dukungan shiftfs, FS virtual untuk memetakan titik pemasangan ke ruang nama pengguna;
  • Jenis adaptor jaringan baru “ipvlan” dan “routed” telah diusulkan;
  • Menambahkan backend untuk menggunakan penyimpanan berbasis CephFS;
  • Dukungan untuk replikasi gambar dan konfigurasi multi-arsitektur telah diterapkan untuk cluster;
  • Menambahkan kontrol akses berbasis peran (RBAC);
  • Menambahkan dukungan untuk CGroup2;
  • Menambahkan kemampuan untuk mengkonfigurasi alamat MAC dan menentukan alamat sumber untuk NAT;
  • Menambahkan API untuk mengelola pengikatan DHCP (sewa);
  • Menambahkan dukungan untuk Nftables.

Sumber: opennet.ru

Tambah komentar