انتشار پلت فرم ارکستراسیون کانتینر که امکان مدیریت یکپارچهی خوشهای از کانتینرهای ایزوله را فراهم میکند و سازوکارهایی را برای استقرار، نگهداری و مقیاسبندی برنامههای در حال اجرا در کانتینرها فراهم میکند. این پروژه در ابتدا توسط گوگل ایجاد شد اما بعداً به یک پلتفرم مستقل تحت نظارت این سازمان منتقل شد. Linux بنیاد. این پلتفرم به عنوان یک راهکار جامع و جهانی، بدون وابستگی به سیستمهای خاص و قادر به اجرای هر برنامهای در هر محیط ابری، در نظر گرفته شده است. کد 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 معمولی است.
- شبکه
- IPv6 به وضعیت بتا منتقل شده است.
- دیسک های دائمی عملکرد زیر پایدار اعلام شده است:
- پیکربندی برنامه
- برای ConfigMap و اشیاء Secret فیلد جدید "تغییر ناپذیر". تنظیم مقدار فیلد روی true از تغییر شی جلوگیری می کند.
- برنامه ریز
- توانایی ایجاد پروفایل های اضافی برای kube-scheduler. اگر قبلاً برای پیادهسازی الگوریتمهای توزیع غیراستاندارد غلاف نیاز به اجرای زمانبندیهای جداگانه دیگری بود، اکنون میتوان مجموعههای تنظیمات اضافی را برای زمانبند استاندارد ایجاد کرد و نام آن را در همان قسمت پاد «.spec.schedulerName» مشخص کرد. وضعیت - آلفا.
- پایدار اعلام کرد
- مقیاس بندی
- توانایی تعیین در HPA درجه تهاجمی را هنگام تغییر تعداد پادهای در حال اجرا نشان می دهد، یعنی زمانی که بار افزایش می یابد، N برابر نمونه های بیشتری را در یک بار راه اندازی کنید.
- کوبلت
- وضعیت بتا دریافت کرد. این ویژگی تخصیص NUMA را فعال می کند که از کاهش عملکرد در سیستم های چند سوکتی جلوگیری می کند.
- وضعیت بتا تابع PodOverhead، که به شما امکان می دهد در RuntimeClass مقدار اضافی منابع مورد نیاز برای اجرای pod را مشخص کنید.
- پشتیبانی از HugePages، در وضعیت آلفا، انزوا در سطح کانتینر و پشتیبانی از اندازه صفحات بزرگ متعدد را اضافه کرد.
- نقطه پایانی برای متریک /metrics/resource/v1alpha1، به جای آن از /metrics/resource استفاده می شود
- API
- قابلیت استفاده از برنامههای قدیمی گروه API/v1beta1 و افزونهها/v1beta1 حذف شد.
- به وضعیت بتا 2 ارتقا یافته است. این بهبود، دستکاری شی را از kubectl به سرور API منتقل می کند. نویسندگان بهبود ادعا می کنند که با این کار بسیاری از خطاهای موجود که در شرایط فعلی قابل اصلاح نیستند، برطرف می شود. آنها همچنین بخش ".metadata.managedFields" را اضافه کردند، که در آن پیشنهاد می کنند تاریخچه تغییرات شی ذخیره شود، که نشان می دهد چه کسی، چه زمانی و دقیقا چه چیزی تغییر کرده است.
- پایدار CertificateSigningRequest API.
- پشتیبانی پلتفرم Windows.
- حمایتها همچنان در حال گسترش است Windows گره. نسخههای آلفا اضافه شدند:
- پشتیبانی به وضعیت پایدار منتقل شده است
- حمایتها همچنان در حال گسترش است Windows گره. نسخههای آلفا اضافه شدند:
منبع: opennet.ru
