Kubernetes v1.36 قرار است اواخر آوریل 2026 منتشر شود و این نسخه ترکیبی از حذف‌ها، deprecationها و تعدادی بهبود کاربردی است که برای متخصصان DevOps/SRE جذاب خواهد بود. 🚀

توجه کنید که اطلاعات زیر منعکس‌کننده وضعیت فعلی توسعه v1.36 است و ممکن است تا زمان انتشار نهایی تغییراتی در محتوا رخ دهد. ⚠️

چرخه حذف و deprecation در Kubernetes — خلاصه‌ای کاربردی: Kubernetes یک سیاست شفاف برای deprecation و حذف APIها دارد. به‌طور کلی APIهای stable (GA) فقط وقتی می‌توانند deprecated شوند که نسخهٔ جدید و پایدار همان API در دسترس باشد و هر سطح پایداری حداقل طول عمر مشخصی دارد. وقتی یک API deprecated می‌شود، تا زمان حذف (حداقل یک سال پس از اعلان) کار می‌کند اما استفاده از آن هشدار تولید می‌کند. پس از حذف، باید به جایگزین مهاجرت کنید.

قواعد کلی: GAها ممکن است deprecated شوند اما نباید داخل همان major version حذف شوند. نسخه‌های Beta باید حداقل سه release پس از deprecated پشتیبانی شوند. نسخه‌های Alpha می‌توانند بدون اعلام قبلی در هر release حذف شوند. در همهٔ موارد، گزینه‌های مهاجرت در deprecation guide اعلان می‌شوند تا ارتقاءها کمتر آزاردهنده باشند.

نمونهٔ اخیر: بازنشستگی ingress-nginx که توسط SIGهای مربوطه اعلام شد، نمونه‌ای از همین رویکرد lifecycle است؛ نگهداری این پروژه متوقف شده و جامعه تشویق می‌شود کنترلرهای جایگزین مطابق با الزامات امنیتی و نگهداری فعلی را بررسی کند. 🔒

بازنشستگی Ingress NGINX: از 24 مارس 2026، پروژه Ingress NGINX به‌منظور اولویت‌بندی امنیت و پایداری اکوسیستم بازنشسته اعلام شد. از آن تاریخ هیچ انتشار، رفع باگ یا patch امنیتی جدیدی ارائه نشده؛ اما deploymentهای موجود همچنان کار می‌کنند و artifactهایی مثل Helm charts و تصاویر کانتینر همچنان در دسترس می‌مانند. 🛡️

Deprecatedها و حذف‌ها در v1.36 — نکات کلیدی:

• Deprecation of .spec.externalIPs در Service: فیلد externalIPs در Service spec در مسیر deprecation قرار گرفته است. این فیلد سابقهٔ مشکلات امنیتی (مثلاً CVE-2020-8554) داشته و از v1.36 به بعد هنگام استفاده هشدار خواهید دید؛ برنامهٔ حذف نهایی برای v1.43 برنامه‌ریزی شده است. اگر هنوز به externalIPs وابسته‌اید، گزینه‌های جایگزین عبارت‌اند از LoadBalancer برای ingress مدیریت‌شده ابری، NodePort برای اکسپوز ساده و Gateway API برای مدیریت امن‌تر و انعطاف‌پذیرتر ترافیک خارجی. برای جزئیات فنی KEP-5707 را ببینید.

• Removal of gitRepo volume driver: نوع volume قدیمی gitRepo که از v1.11 در حالت deprecation بود، از v1.36 به بعد به‌صورت دائم غیرفعال می‌شود و دیگر قابلیت فعال‌سازی ندارد. دلیل اصلی، یک مشکل امنیتی جدی است که می‌توانست به اجرای کد به‌صورت root روی نود منجر شود. اگر workloads شما هنوز به gitRepo وابسته‌اند، باید به init containers یا ابزارهایی مثل git-sync مهاجرت کنید. (KEP-5040)

ویژگی‌های برجستهٔ v1.36 — آنچه باید بدانید:

• Faster SELinux labelling for volumes (GA): بهبود نحوهٔ برچسب‌گذاری SELinux هنگام mount کردن ولوم‌ها اکنون به صورت GA عرضه شده است. به‌جای relabeling بازگشتی، از mount -o context=XYZ استفاده می‌شود تا کل ولوم با context مناسب در زمان mount برچسب بخورد؛ نتیجه عملکرد پایاتر و کاهش تأخیر در startup Podها روی سیستم‌های enforcing است. این ویژگی ابتدا در v1.28 به‌صورت beta برای ReadWriteOncePod معرفی شد، در v1.32 متریک و گزینهٔ opt-out (securityContext.seLinuxChangePolicy: Recursive) اضافه شد و حالا در v1.36 پایدار شده و به‌صورت پیش‌فرض برای همهٔ ولوم‌ها فعال است و Podها یا CSIDrivers می‌توانند با spec.SELinuxMount به صورت اختصاصی تعیین رفتار کنند. با این حال باید مراقب باشید: مدیریت نادرست seLinuxChangePolicy و برچسب‌های SELinux می‌تواند در آینده باعث مشکلات سازگاری و امنیتی شود—مسئولیت صحیح تنظیم این موارد بر عهدهٔ نویسندهٔ Pod است. (KEP-1710)

• External signing of ServiceAccount tokens (beta→GA مورد انتظار): امکان امضای خارجی ServiceAccount tokens به kube-apiserver اجازه می‌دهد تا امضای توکن‌ها را به سرویس‌های خارجی مثل cloud KMS یا HSM واگذار کند. این موضوع مدیریت کلید را متمرکزتر و امن‌تر می‌کند و برای سازمان‌هایی که از زیرساخت امضای متمرکز استفاده می‌کنند مفید است. انتظار می‌رود این قابلیت در v1.36 به سمت GA برود. (KEP-740)

• DRA driver support for device taints and tolerations: از v1.33 پشتیبانی اولیه برای taints/tolerations در دستگاه‌های فیزیکی مدیریت‌شده توسط Dynamic Resource Allocation (DRA) اضافه شده بود. اکنون در v1.36 این قابلیت به beta می‌رسد و بدون نیاز به feature flag در دسترس خواهد بود؛ DRA drivers یا DeviceTaintRuleها می‌توانند دستگاه‌ها را taint کنند تا از زمانبندی ناخواسته جلوگیری شود—این به کنترل بهتر استفاده از سخت‌افزارهای تخصصی کمک می‌کند. (KEP-5055)

• DRA support for partitionable devices: قابلیت تقسیم‌پذیری دستگاه‌ها (partitionable devices) به DRA اضافه می‌شود تا یک شتاب‌دهنده سخت‌افزاری مثل GPU را به چند واحد منطقی تقسیم کرده و بین workloads به اشتراک گذاشت. این رویکرد به بهبود استفادهٔ کلی از منابع گران‌قیمت کمک می‌کند و امکان تخصیص بخشی از دستگاه به هر workload را فراهم می‌سازد. (KEP-4815) 💡

می‌خواهید بیشتر بدانید؟ نسخه‌های جدید و deprecationها در release notes و CHANGELOG رسمی Kubernetes اعلام می‌شوند. برنامهٔ انتشار رسمی v1.36 برای چهارشنبه، 22 آوریل 2026 تنظیم شده است — منتظر آپدیت‌ها باشید. 📢

حضور و مشارکت در پروژه: ساده‌ترین راه مشارکت در Kubernetes، پیوستن به یکی از SIGها مطابق علایق شما است. اگر می‌خواهید دربارهٔ تغییرات صحبت کنید یا بازخورد بدهید، در جلسات هفتگی جامعه شرکت کنید و در کانال‌های عمومی مثل Discuss، Slack یا فوروم‌های تخصصی سؤال بپرسید یا پاسخ دهید. مشارکت شما به بهتر شدن اکوسیستم کمک می‌کند. 🤝