آپدیت ۱.۲۹ کوبرنتیز

آشنایی با تغییرات کوبرنتیز نسخه 1.29

نسخه جدید کوبرنتیز 1.29 با نام  Mandala (اثری هنری که نمادی از تکامل جهان است ) جدیدا منتشر شده و تغییرات و به‌روزرسانی‌های متنوعی در آن اتفاق افتاده است. 

هدف نام‌گذاری این نسخه نیز جالب است. کوبرنتیز می‌خواهد خود را به‌عنوان یک ستاره یا نور اولیه که پدیدآورنده همه چیز است نشان دهد و آنچه که در اطراف آن حضور دارد نیز افرادی است که در پیشرفت این پروژه مشارکت داشته‌اند.

نسخه ماندالای کوبرنتیز
شعار نسخه جدید: «با همدیگر جهانی از امکان‌ها را خلق می‌کنیم»

برای آشنایی بیشتر با تغییرات این به‌روزرسانی قصد داریم به‌صورت کوتاه به اصلی‌ترین تغییرات بپردازیم. همچنین برای آشنایی بیشتر با این موارد می‌توانید به مستندات رسمی کوبرنتیز مراجعه کنید.

تغییرات Stable

تغییرات Stable شامل مواردی می‌شوند که در نسخه‌های قبلی به‌صورت Beta و Alpha منتشر شدند و حالا به نسخه Stable رسیدند. برخی از اصلی‌ترین این تغییرات را در زیر می‌توانید مشاهده کنید:

ReadWriteOncePod یا RWOP

 این ویژگی ابتدا در نسخه 1.22 به‌صورت Alpha منتشر شد و حال در نسخه 1.29 به حالت Stable درآمده است. هدف از ایجاد این ویژگی این است که تنها پادی که به Volume در کلاستر متصل شده است امکان خواندن یا نوشتن روی Persistent Volume و Persistent Volume Claim را داشته باشند. در نتیجه تنها یک پاد قابلیت Mount کردن PV و PVC را دارد.

ویژگی‌های Beta

SidecarContainers

 ویژگی SidecarContainers در نسخه جدید کوبرنتیز به حالت Beta درآمده و به‌صورت پیشفرض فعال است.

Node Lifecycle Taint Management

در نسخه جدید، ویژگی TaintManager  از NodeLifecycleController حذف شده و به‌جای آن دو کنترلر جداگانه و متمایز از همدیگر اضافه شده است:

  • NodeLifecycleController که وظیفه دارد تا Taintهایی را به نودهای ناسالم اضافه کند.
  • TaintManager که وظیفه حذف کردن پادها را از نودهای Taint شده‌ای برعهده دارد که NoExecute هستند.

Legacy Secret-Based SA Tokens Cleanup

در نسخه 1.29 سکرت توکن‌هایی که به‌صورت خودکار ایجاد شده‌اند، اگر تا مدت یکسال استفاده نشده باشند، نامعتبر شده و بعد از گذشت یک سال دیگر به‌صورت کامل حذف می‌شود. این فرایند برای بهبود امنیت و مدیریت‌پذیری ایجاد شده است.

ویژگی‌های Alpha

MatchLabelKeys / MismatchLabelKeys

 این ویژگی‌های برای PodAffinity/AntiAffinity معرفی شده‌اند. با استفاده از این ویژگی، کاربران می‌توانند به‌صورت دقیق، محدوده‌ای که پادها قرار است با همدیگر هم‌زیستی داشته باشند را تعیین کنند.

 APIهایی در جهت مدیریت گستره یا Range آدرس‌های آی‌پی برای Service

با استفاده از این ویژگی کاربران می‌توانند رنج‌های IP که به Serviceها در کوبرنتیز اختصاص داده شده را بدون راه‌اندازی مجدد kube-apiserver تغییر دهند، یا اضافه و کم کنند. این کار با استفاده از دو آبجکت ServiceCIDR و IPAddress انجام می‌شود.

In-Place Pod Resources Update

 این به‌روزرسانی به کاربران اجازه می‌دهد تا بدون راه‌اندازی مجدد، منابع را به‌روزرسانی کرده و تغییر دهند. این کار باعث می‌شود تا نرخ انعطاف‌پذیری و بهره‌وری بالاتر برود.

nftables

برای پیاده‌سازی و اجرا kube-proxy در لینوکس پیشتر از iptables استفاده می‌شد. حال برای بهبود مشکلات پرفورمنس و اجرایی قابلیت استفاده از nftables فراهم شده است.

ویژگی‌های منسوخ شده

ایجاد Cronjob با استفاده از متغیرها

فرایند ایجاد Cronjobها با استفاده از متغیرها (  CRON_TZ در .spec.schedule و TZ) دیگر پشتیبانی نمی‌شود. رویکردی که برای انجام چنین کاری پیشنهاد می‌شود استفاده از .spec.timeZone است. به کاربران پیشنهاد می‌شود که براساس این الگو جدید، Cronjobهای فعلی‌شان را آپدیت کنند.

Networking Object ClusterCIDR

ویژگی ClusterCIDR دیگر پشتیبانی نشده و توسعه نمی‌یابد.

در پایان

کوبرنتیز 1.29 ویژگی‌ها و بهبودهای متنوعی را ارائه کرده تا وضعیت کارایی، بهره‌وری و امنیت را بهتر کند. اگر قصد دارید به‌صورت کامل‌تر با جزئیات این به‌روزرسانی‌ها آشنا شوید به مستندات رسمی کوبرنتیز مراجعه کنید.

مطالب مرتبط

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *