Kubernetes 1.18 Release، سیستم مدیریت خوشه کانتینر ایزوله

منتشر شده انتشار پلت فرم ارکستراسیون کانتینر Kubernetes 1.18، که به شما امکان می دهد مجموعه ای از کانتینرهای جدا شده را به طور کلی مدیریت کنید و مکانیسم هایی را برای استقرار، نگهداری و مقیاس بندی برنامه های در حال اجرا در کانتینرها ارائه می دهد. این پروژه در ابتدا توسط گوگل ایجاد شد، اما سپس به یک سایت مستقل تحت نظارت بنیاد لینوکس منتقل شد. این پلتفرم به عنوان یک راه حل جهانی که توسط جامعه توسعه یافته است، به سیستم های فردی وابسته نیست و قادر به کار با هر برنامه کاربردی در هر محیط ابری است. کد Kubernetes در Go و نوشته شده است توزیع شده توسط دارای مجوز Apache 2.0.

توابعی را برای استقرار و مدیریت زیرساخت ها، مانند نگهداری پایگاه داده DNS، تعادل بار،
توزیع کانتینرها در میان گره های خوشه (مهاجرت کانتینر بسته به تغییرات بار و نیازهای خدمات)، بررسی سلامت در سطح برنامه، مدیریت حساب، به روز رسانی و مقیاس بندی پویا یک خوشه در حال اجرا، بدون توقف آن. امکان استقرار گروه هایی از کانتینرها با عملیات به روز رسانی و خنثی سازی برای کل گروه به طور همزمان و همچنین تقسیم منطقی خوشه به قطعات با تقسیم منابع وجود دارد. پشتیبانی از مهاجرت پویا برنامه ها وجود دارد که برای ذخیره سازی داده ها می توان از هر دو سیستم ذخیره سازی محلی و ذخیره سازی شبکه استفاده کرد.

نسخه Kubernetes 1.18 شامل 38 تغییر و بهبود است که 15 مورد به وضعیت پایدار و 11 مورد به وضعیت بتا منتقل شده اند. 12 تغییر جدید در وضعیت آلفا پیشنهاد شده است. هنگام آماده سازی نسخه جدید، تلاش های مساوی هم برای اصلاح عملکردهای مختلف و تثبیت قابلیت های آزمایشی و هم افزودن پیشرفت های جدید صورت گرفت. تغییرات اصلی:

  • کوبکتل
    • اضافه یک نسخه آلفا از دستور "kubectl debug" که به شما امکان می دهد با راه اندازی کانتینرهای زودگذر با ابزارهای اشکال زدایی، اشکال زدایی را در پادها ساده کنید.
    • پایدار اعلام کرد دستور "kubectl diff"، که به شما امکان می دهد ببینید در صورت اعمال مانیفست چه چیزی در خوشه تغییر می کند.
    • حذف شده همه مولدهای فرمان "kubectl run"، به جز ژنراتور برای اجرای یک پاد.
    • تغییر کرد پرچم "--dry-run" بسته به مقدار آن (کلاینت، سرور و هیچ کدام)، اجرای آزمایشی دستور در سمت مشتری یا سرور انجام می شود.
    • کد کوبکتل برجسته شده است به یک مخزن جداگانه این امر به Kubectl اجازه می‌دهد تا از وابستگی‌های داخلی Kubernetes جدا شود و وارد کردن کد به پروژه‌های شخص ثالث را آسان‌تر کند.
  • ورود
    • آغاز شد تغییر گروه API برای Ingress به networking.v1beta1.
    • اضافه زمینه های جدید:
      • pathType، که به شما امکان می دهد تعیین کنید که مسیر در درخواست چگونه مقایسه شود
      • IngressClassName جایگزینی برای حاشیه نویسی kubernetes.io/ingress.class است که منسوخ اعلام شده است. این فیلد نام شی ویژه InressClass را مشخص می کند
    • اضافه یک شی IngressClass که نام کنترل کننده ورودی، پارامترهای اضافی آن و علامت استفاده از آن را به طور پیش فرض نشان می دهد.
  • محصولات
    • اضافه شده قسمت AppProtocol که در آن می توانید مشخص کنید برنامه از کدام پروتکل استفاده می کند
    • ترجمه شده در وضعیت بتا و به طور پیش‌فرض EndpointSlicesAPI فعال است، که جایگزینی کاربردی‌تر برای Endpoints معمولی است.
  • شبکه
  • دیسک های دائمی عملکرد زیر پایدار اعلام شده است:
  • پیکربندی برنامه
    • برای ConfigMap و اشیاء Secret اضافه فیلد جدید "تغییر ناپذیر". تنظیم مقدار فیلد روی true از تغییر شی جلوگیری می کند.
  • برنامه ریز
    • اضافه توانایی ایجاد پروفایل های اضافی برای kube-scheduler. اگر قبلاً برای پیاده‌سازی الگوریتم‌های توزیع غیراستاندارد غلاف نیاز به اجرای زمان‌بندی‌های جداگانه دیگری بود، اکنون می‌توان مجموعه‌های تنظیمات اضافی را برای زمان‌بند استاندارد ایجاد کرد و نام آن را در همان قسمت پاد «.spec.schedulerName» مشخص کرد. وضعیت - آلفا.
    • اخراج مبتنی بر لکه دار شدن پایدار اعلام کرد
  • مقیاس بندی
    • اضافه توانایی تعیین در HPA درجه تهاجمی را هنگام تغییر تعداد پادهای در حال اجرا نشان می دهد، یعنی زمانی که بار افزایش می یابد، N برابر نمونه های بیشتری را در یک بار راه اندازی کنید.
  • کوبلت
    • مدیر توپولوژی وضعیت بتا دریافت کرد. این ویژگی تخصیص NUMA را فعال می کند که از کاهش عملکرد در سیستم های چند سوکتی جلوگیری می کند.
    • وضعیت بتا اخذ شده تابع PodOverhead، که به شما امکان می دهد در RuntimeClass مقدار اضافی منابع مورد نیاز برای اجرای pod را مشخص کنید.
    • منبسط پشتیبانی از HugePages، در وضعیت آلفا، انزوا در سطح کانتینر و پشتیبانی از اندازه صفحات بزرگ متعدد را اضافه کرد.
    • حذف شده نقطه پایانی برای متریک /metrics/resource/v1alpha1، به جای آن از /metrics/resource استفاده می شود
  • API
    • سرانجام قابلیت استفاده از برنامه‌های قدیمی گروه API/v1beta1 و افزونه‌ها/v1beta1 حذف شد.
    • ServerSide Apply به وضعیت بتا 2 ارتقا یافته است. این بهبود، دستکاری شی را از kubectl به سرور API منتقل می کند. نویسندگان بهبود ادعا می کنند که با این کار بسیاری از خطاهای موجود که در شرایط فعلی قابل اصلاح نیستند، برطرف می شود. آنها همچنین بخش ".metadata.managedFields" را اضافه کردند، که در آن پیشنهاد می کنند تاریخچه تغییرات شی ذخیره شود، که نشان می دهد چه کسی، چه زمانی و دقیقا چه چیزی تغییر کرده است.
    • اعلام کرد پایدار CertificateSigningRequest API.
  • پشتیبانی از پلتفرم ویندوز

منبع: opennet.ru

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