Konteyner yönetimi araçları LXC ve LXD 4.0'ın piyasaya sürülmesi

Kanonik Şirket yayınlanan izole kapların çalışmalarını organize etmek için araçların piyasaya sürülmesi LXC4.0, konteyner yöneticisi LXD4.0 ve sanal FS LXCFS4.0 /proc, /sys kapsayıcılarında simülasyon ve cgroup ad alanları desteği olmayan dağıtımlar için sanallaştırılmış bir cgroupfs gösterimi için. Şube 4.0, güncellemeleri 5 yıllık bir süre boyunca oluşturulan uzun vadeli bir destek sürümü olarak sınıflandırılır

LXC, hem sistem kapsayıcılarını hem de OCI kapsayıcılarını çalıştırmaya yönelik bir çalışma zamanıdır. LXC, liblxc kitaplığını, bir dizi yardımcı programı (lxc-create, lxc-start, lxc-stop, lxc-ls, vb.), konteyner oluşturmaya yönelik şablonları ve çeşitli programlama dilleri için bir dizi bağlamayı içerir. Yalıtım standart Linux çekirdek mekanizmaları kullanılarak gerçekleştirilir. İşlemleri izole etmek için ipc ağ yığını, uts, kullanıcı kimlikleri ve bağlama noktaları, ad alanları mekanizması kullanılır. cgroup'lar kaynakları sınırlamak için kullanılır. Ayrıcalıkları azaltmak ve erişimi sınırlamak için Apparmor ve SELinux profilleri, Seccomp politikaları, Chroots (pivot_root) ve yetenekler gibi çekirdek özellikleri kullanılır. Kod LXC yazıldı C dilindedir ve GPLv2 lisansı altında dağıtılmaktadır.

LXD, bir veya daha fazla sunucudaki konteynerleri ve sanal makineleri merkezi olarak yönetmek için kullanılan LXC, CRIU ve QEMU eklentisidir. LXC, bireysel kapsayıcılar düzeyinde manipülasyona yönelik düşük seviyeli bir araç takımıysa, LXD, REST API aracılığıyla ağ üzerinden istekleri kabul eden ve birkaç sunucudan oluşan bir kümeye dağıtılan ölçeklenebilir yapılandırmalar oluşturmanıza olanak tanıyan bir arka plan işlemi olarak uygulanır.
Çeşitli depolama arka uçları (dizin ağacı, ZFS, Btrfs, LVM), durum dilimli anlık görüntüler, çalışan konteynerlerin bir makineden diğerine canlı geçişi ve görüntü depolamayı organize etmeye yönelik araçlar desteklenir. Kod LXD yazıldı Go'da mevcuttur ve Apache 2.0 lisansı altında dağıtılmaktadır.

Anahtar iyileştirmeler LXC 4.0'da:

  • Sürücü, cgroup ile çalışacak şekilde tamamen yeniden yazıldı. Birleşik grup hiyerarşisi (cgroup2) için destek eklendi. Bir gruptaki çalışmayı durdurabileceğiniz ve diğer görevleri gerçekleştirmek için bazı kaynakları (CPU, I/O ve hatta muhtemelen bellek) geçici olarak serbest bırakabileceğiniz dondurucu denetleyici işlevi eklendi;
  • Sistem çağrılarını yakalamak için uygulanan altyapı;
  • PID'nin yeniden kullanılması durumunu ele almak üzere tasarlanmış "pidfd" çekirdek alt sistemi için destek eklendi (pidfd belirli bir işlemle ilişkilendirilir ve değişmez, oysa bir PID, söz konusu PID ile ilişkili mevcut işlem sona erdikten sonra başka bir işlemle ilişkilendirilebilir) ;
  • Ağ cihazlarının oluşturulması ve silinmesinin yanı sıra bunların ağ alt sistemi ad alanları arasındaki hareketleri iyileştirildi;
  • Kablosuz ağ cihazlarını (nl80211) konteynerlere taşıma özelliği uygulandı.

Anahtar iyileştirmeler LXD 4.0'da:

  • Yalnızca konteynerlerin değil aynı zamanda sanal makinelerin başlatılması için destek eklendi;
  • LXD sunucularını segmentlere ayırmak için konteyner ve sanal makine gruplarının yönetimini basitleştiren bir proje konsepti önerildi. Her proje kendi kapsayıcı setini, sanal makineleri, görüntüleri, profilleri ve depolama bölümlerini içerebilir. Projelerle bağlantılı olarak kendi kısıtlamalarınızı belirleyebilir ve ayarları değiştirebilirsiniz;
  • Konteynerler için sistem çağrılarının ele geçirilmesine yönelik destek eklendi;
  • Ortamların yedek kopyalarının oluşturulması ve onlardan geri yükleme uygulandı;
  • Ortamların ve depolama bölümlerinin anlık görüntülerinin otomatik olarak oluşturulması, anlık görüntünün ömrünü ayarlama yeteneğiyle sağlanır;
  • Ağ durumunu izlemek için API eklendi (lxc ağ bilgisi);
  • Destek eklendi vardiyalar, bağlama noktalarını kullanıcı ad alanlarıyla eşlemek için sanal FS;
  • Yeni tür ağ bağdaştırıcıları "ipvlan" ve "yönlendirilmiş" önerildi;
  • CephFS tabanlı depolamayı kullanmak için arka uç eklendi;
  • Kümeler için görüntü çoğaltma ve çoklu mimari yapılandırmalarına yönelik destek uygulandı;
  • Rol tabanlı erişim kontrolü (RBAC) eklendi;
  • CGroup2 için destek eklendi;
  • MAC adresini yapılandırma ve NAT için kaynak adresini belirleme yeteneği eklendi;
  • DHCP bağlamalarını (kiralamaları) yönetmek için API eklendi;
  • Nftables için destek eklendi.

Kaynak: opennet.ru

Yorum ekle