هیچ محصولی در سبد خرید نیست.

Kubernetes v1.37 چیست؟ راهنمای ارتقای امن کلاستر

Kubernetes v1.37 چیست؟ راهنمای ارتقای امن کلاستر

Kubernetes v1.۳۷ با نام Garhwal منتشر شده و یکی از به‌روزرسانی‌های مهم سال ۲۰۲۶ برای تیم‌های DevOps و پلتفرم است. اما پیش از بررسی قابلیت‌های جدید، باید بدانیم Kubernetes چیست: یک سیستم متن‌باز برای زمان‌بندی، اجرا، مقیاس‌دهی و مدیریت کانتینرها در یک یا چند کلاستر. به کمک Kubernetes، تیم‌ها می‌توانند سرویس‌ها را روی نودهای مختلف اجرا کنند، خرابی را بهتر مدیریت کنند و انتشار نسخه‌های جدید را به شکل کنترل‌شده انجام دهند.

Kubernetes چیست و چه مسئله‌ای را حل می‌کند؟

وقتی یک برنامه از چند سرویس کانتینری تشکیل می‌شود، اجرای دستی کانتینرها خیلی زود پیچیده خواهد شد. باید مشخص باشد هر سرویس کجا اجرا شود، در صورت از کار افتادن یک نمونه چه چیزی جای آن را بگیرد، ترافیک چگونه توزیع شود و منابع CPU و حافظه چگونه مدیریت شوند. Kubernetes این وظایف را با مفاهیمی مانند Pod، Deployment، Service، Node و Scheduler سازمان‌دهی می‌کند.

Kubernetes یک سیستم‌عامل برای کلاد نیست و جایگزین مستقیم کد برنامه، دیتابیس یا ابزار CI/CD هم محسوب نمی‌شود. این پلتفرم لایهٔ مدیریت اجرای workloadهاست و می‌تواند روی زیرساخت ابری، سرور اختصاصی یا محیط ترکیبی اجرا شود. مدیران کلاستر با تعریف وضعیت مطلوب، به کنترلرها اجازه می‌دهند وضعیت واقعی را به آن وضعیت نزدیک نگه دارند.

مهم‌ترین تغییرات Kubernetes v1.۳۷

در Kubernetes v1.۳۷ تعداد ۱۶ قابلیت به وضعیت Stable رسیده‌اند. یکی از تغییرات مهم، پایدارشدن KYAML است؛ قالبی سازگار با YAML که برای خوانایی و ابهام کمتر در فایل‌های پیکربندی طراحی شده است. همچنین API مربوط به metrics.k8s.io پس از سال‌ها حضور در وضعیت Beta به Stable رسیده و پایهٔ ابزارهایی مانند kubectl top و HorizontalPodAutoscaler را قابل اتکاتر می‌کند.

در بخش امنیت و ذخیره‌سازی، قابلیت‌های SELinuxMount و SELinuxChangePolicy به وضعیت پایدار رسیده‌اند. این تغییر برای کلاسترهایی که SELinux فعال دارند مهم است، چون رفتار mount و برچسب‌گذاری volumeها می‌تواند روی سازگاری workloadها اثر بگذارد. قبل از ارتقا، تنظیمات CSI Driver و Podهایی که volume مشترک دارند باید در محیط آزمایشی بررسی شوند.

نسخهٔ جدید در حوزهٔ Dynamic Resource Allocation یا DRA نیز پیشرفت‌هایی دارد. اطلاعات وضعیت ResourceClaim، پشتیبانی از منابع extended و taint و toleration برای deviceها به مدیران اجازه می‌دهد منابع تخصصی مانند GPU و تجهیزات شبکه را دقیق‌تر به workloadها اختصاص دهند. این موضوع برای کلاسترهای پردازش هوش مصنوعی و بارهای محاسباتی سنگین کاربردی است.

زمان‌بندی workloadهای چندبخشی

Gang scheduling در Kubernetes v1.۳۷ به Beta رسیده است. در این مدل، گروهی از Podها می‌تواند به‌صورت یک واحد زمان‌بندی شود؛ یعنی سیستم تلاش می‌کند همهٔ اعضای workload را زمانی اجرا کند که ظرفیت کافی برای کل گروه وجود داشته باشد. این روش برای jobهای آموزش مدل، پردازش‌های موازی و شبیه‌سازی‌هایی که فقط با حضور همهٔ اجزا پیشرفت می‌کنند، مناسب‌تر از زمان‌بندی مستقل هر Pod است.

همراه با آن، workload-aware preemption نیز به Beta رسیده تا تصمیم‌های مربوط به جابه‌جایی workloadها با درنظرگرفتن گروه کامل Podها انجام شود. این قابلیت‌ها هنوز باید با توجه به وضعیت پشتیبانی ابزارهای اطراف کلاستر و نیاز واقعی سازمان ارزیابی شوند؛ فعال‌کردن قابلیت Beta روی محیط تولید بدون سناریوی بازگشت تصمیم مناسبی نیست.

پیش از ارتقا چه کنیم؟

برای ارتقای Kubernetes v1.۳۷ ابتدا inventory کلاستر را تهیه کنید: نسخهٔ control plane و nodeها، وضعیت CSI و CNI، افزونه‌های admission، ابزار مانیتورینگ و workloadهای حساس را ثبت کنید. سپس release note رسمی و محدودیت‌های version skew را بررسی کنید. یک کلاستر staging با توپولوژی نزدیک به تولید بسازید و ابتدا workloadهای stateless، سپس سرویس‌های stateful و در پایان jobهای حساس را آزمایش کنید.

در مرحلهٔ تست، metrics، لاگ‌ها، readiness و liveness، عملکرد volumeها و رفتار autoscaler را مقایسه کنید. اگر SELinux یا DRA در محیط شما فعال است، این دو بخش را جداگانه بررسی کنید. برای Gang scheduling نیز سناریوی کمبود منابع و بازگشت از rollout را اجرا کنید تا معلوم شود Podهای ناقص در وضعیت pending باقی نمی‌مانند.

برای مطالعهٔ مطالب فنی بیشتر، بخش آموزش و فناوری تکتاز را ببینید. جزئیات کامل قابلیت‌ها و هشدارهای ارتقا در اعلام رسمی Kubernetes v1.۳۷ منتشر شده است.

جمع‌بندی

Kubernetes v1.۳۷ بیشتر از یک نسخهٔ معمولی، گامی برای بالغ‌ترشدن مدیریت workloadهای پیچیده است. Stableشدن metrics API و KYAML، پیشرفت DRA و Betaشدن Gang scheduling برای تیم‌هایی که کلاسترهای بزرگ یا بارهای AI دارند جذاب است. بااین‌حال، ارتقای امن باید مرحله‌ای باشد: ابتدا staging، سپس گروه محدودی از نودها و در نهایت rollout کامل با مانیتورینگ و برنامهٔ بازگشت.

کلیدواژهٔ اصلی: Kubernetes v1.37

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

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

از محدودیت زمانی فراتر رفت لطفاً یکبار دیگر کپچا را کامل کنید.