انتشار ابزار مدیریت کانتینر LXC و LXD 4.0

ابتدایی опубликовала انتشار ابزارهایی برای سازماندهی کار ظروف ایزوله LXC 4.0، مدیر کانتینر LXD 4.0 و FS مجازی LXCFS 4.0 برای شبیه سازی در ظروف /proc، /sys و یک نمایش مجازی cgroupfs برای توزیع بدون پشتیبانی از فضای نام cgroup. شعبه 4.0 به عنوان نسخه پشتیبانی طولانی مدت طبقه بندی می شود که به روز رسانی های آن در یک دوره 5 ساله ایجاد می شود.

LXC یک زمان اجرا برای اجرای کانتینرهای سیستم و کانتینرهای OCI است. LXC شامل کتابخانه liblxc، مجموعه ای از ابزارهای کاربردی (lxc-create، lxc-start، lxc-stop، lxc-ls، و غیره)، قالب هایی برای ساخت کانتینرها و مجموعه ای از اتصالات برای زبان های برنامه نویسی مختلف است. جداسازی با استفاده از مکانیزم های استاندارد هسته لینوکس انجام می شود. برای جداسازی فرآیندها، پشته شبکه ipc، uts، شناسه های کاربر و نقاط نصب، از مکانیسم فضاهای نام استفاده می شود. cgroup ها برای محدود کردن منابع استفاده می شوند. برای کاهش امتیازات و محدود کردن دسترسی، از ویژگی‌های هسته مانند پروفایل‌های Apparmor و SELinux، سیاست‌های Seccomp، Chroots (pivot_root) و قابلیت‌ها استفاده می‌شود. کد LXC نوشته شده توسط به زبان C و تحت مجوز GPLv2 توزیع شده است.

LXD یک افزونه برای LXC، CRIU و QEMU است که برای مدیریت مرکزی کانتینرها و ماشین های مجازی در یک یا چند سرور استفاده می شود. اگر LXC یک جعبه ابزار سطح پایین برای دستکاری در سطح کانتینرهای منفرد است، LXD به عنوان یک فرآیند پس‌زمینه اجرا می‌شود که درخواست‌ها را از طریق شبکه REST API می‌پذیرد و به شما امکان می‌دهد پیکربندی‌های مقیاس‌پذیری را ایجاد کنید که روی خوشه‌ای از چندین سرور مستقر شده‌اند.
پشتیبان‌های ذخیره‌سازی مختلفی پشتیبانی می‌شوند (درخت فهرست، ZFS، Btrfs، LVM)، عکس‌های فوری با یک برش حالت، مهاجرت زنده کانتینرهای در حال اجرا از یک ماشین به ماشین دیگر، و ابزارهایی برای سازماندهی ذخیره‌سازی تصویر. کد LXD نوشته شده توسط در Go و تحت مجوز آپاچی 2.0 توزیع شده است.

کلید پیشرفت ها در LXC 4.0:

  • درایور کاملاً برای کار با cgroup بازنویسی شده است. پشتیبانی از سلسله مراتب cgroup یکپارچه (cgroup2) اضافه شده است. اضافه شدن قابلیت کنترل کننده فریزر، که با آن می توانید کار را در یک گروه cgroup متوقف کنید و به طور موقت برخی از منابع (CPU، I/O و احتمالاً حتی حافظه) را برای انجام کارهای دیگر آزاد کنید.
  • زیرساخت های پیاده سازی شده برای رهگیری تماس های سیستمی؛
  • پشتیبانی اضافه شده برای زیرسیستم هسته "pidfd"، طراحی شده برای رسیدگی به وضعیت استفاده مجدد از PID (pidfd با یک فرآیند خاص مرتبط است و تغییر نمی کند، در حالی که یک PID می تواند پس از پایان فرآیند فعلی مرتبط با آن PID با فرآیند دیگری مرتبط شود) ;
  • بهبود ایجاد و حذف دستگاه های شبکه و همچنین حرکت آنها بین فضاهای نام زیرسیستم شبکه.
  • قابلیت انتقال دستگاه های شبکه بی سیم (nl80211) به داخل کانتینرها پیاده سازی شده است.

کلید پیشرفت ها در LXD 4.0:

  • پشتیبانی اضافه شده برای راه اندازی نه تنها کانتینرها، بلکه ماشین های مجازی.
  • برای تقسیم‌بندی سرورهای LXD، یک مفهوم پروژه پیشنهاد شده است که مدیریت گروه‌های کانتینر و ماشین‌های مجازی را ساده می‌کند. هر پروژه می تواند شامل مجموعه ای از کانتینرها، ماشین های مجازی، تصاویر، پروفایل ها و پارتیشن های ذخیره سازی باشد. در ارتباط با پروژه ها، می توانید محدودیت های خود را تعیین کرده و تنظیمات را تغییر دهید.
  • پشتیبانی اضافه شده برای رهگیری تماس های سیستم برای کانتینرها.
  • پیاده سازی ایجاد نسخه های پشتیبان از محیط ها و بازیابی از آنها.
  • ایجاد خودکار عکس های فوری از محیط ها و پارتیشن های ذخیره سازی با قابلیت تنظیم طول عمر عکس فوری ارائه شده است.
  • اضافه شدن API برای نظارت بر وضعیت شبکه (اطلاعات شبکه lxc)؛
  • پشتیبانی اضافه شد شیفت می کند، FS مجازی برای نگاشت نقاط اتصال به فضاهای نام کاربری.
  • انواع جدیدی از آداپتورهای شبکه "ipvlan" و "routed" پیشنهاد شده‌اند.
  • باطن اضافه شده برای استفاده از ذخیره سازی مبتنی بر CephFS.
  • پشتیبانی از تکرار تصویر و تنظیمات چند معماری برای خوشه ها اجرا شده است.
  • کنترل دسترسی مبتنی بر نقش (RBAC) اضافه شده است.
  • پشتیبانی اضافه شده برای CGroup2.
  • اضافه شدن قابلیت پیکربندی آدرس MAC و تعیین آدرس منبع برای NAT.
  • API اضافه شده برای مدیریت اتصالات DHCP (اجاره)؛
  • پشتیبانی از Nftables اضافه شده است.

منبع: opennet.ru

اضافه کردن نظر