این مستندات حداکثر اختلاف نسخه (version skew) پشتیبانی‌شده بین اجزای مختلف کوبرنتیز را توضیح می‌دهد. ابزارهای خاص استقرار خوشه (cluster) ممکن است محدودیت‌های بیشتری بر اختلاف نسخه اعمال کنند.

ورژن های قابل پشتیبانی شده

نسخه‌های کوبرنتیز به صورت x.y.z بیان می‌شوند، که در آن x نسخه اصلی (major)، y نسخه فرعی (minor) و z نسخه (patch)وصله است، مطابق با اصطلاحات Semantic Versioning. برای اطلاعات بیشتر، به نسخه‌بندی انتشار کوبرنتیز مراجعه کنید.

پروژه کوبرنتیز شاخه‌های انتشار (انتشار برنچ ها) مربوط به سه نسخه فرعی (minor) اخیر را نگهداری می‌کند (1.33, 1.32, 1.31). نسخه‌های 1.19 به بعد ازتقریباً ۱ سال پشتیبانی پچ.کوبرنتیز حدوداً ۱ سال پشتیبانی (patch)وصله دریافت می‌کنند. نسخه‌های 1.18 و قبل‌تر تقریباً ۹ ماه پشتیبانی (patch)وصله دریافت می‌کردند.

اصلاحات قابل اعمال، از جمله اصلاحات امنیتی، ممکن است بسته به شدت (severity) و امکان‌پذیری (feasibility) به آن سه شاخه انتشار بازگردانده شوند (backport). نسخه‌های (patch)وصله از این شاخه‌ها در یک آهنگ منظم منتشر می‌شوند، به‌علاوه انتشارهای اضطراری اضافی در صورت نیاز.

گروه مدیریت انتشار مالک این تصمیم است. برای اطلاعات بیشتر، به صفحه انتشار patch در کوبرنتیز مراجعه کنید.

نسخه پشتیبانی شده skew

kube-apiserver

در خوشه های مقیاس پذیر، جدیدترین و قدیمی‌ترین نمونه‌های kube-apiserver باید حداکثر یک نسخه فرعی (minor) اختلاف داشته باشند.

مثال:

kubelet

مثال:

اگر نسخه skew بین مثال:

kube-proxy

مثال:

مثال:

kube-controller-manager, kube-scheduler, , cloud-controller-manager

kube-controller-manager، kube-schedulerو cloud-controller-manager نباید جدیدتر از نمونه‌های kube-apiserver که با آنها ارتباط دارند باشند. انتظار می‌رود که نسخه فرعی (minor) آنها با نسخه kube-apiserver مطابقت داشته باشد، اما ممکن است حداکثر تا یک نسخه فرعی قدیمی‌تر باشند (برای اجازه دادن به ارتقاء در لحظه)

مثال:

مثال:

kube-controller-manager،kube-scheduler و cloud-controller-manager در نسخه 1.32 پشتیبانی می‌شوند (نسخه (1.33 پشتیبانی نمی‌شود زیرا جدیدتر از نمونه kube-apiserver در نسخه 1.32 خواهد بود).

kubectl

kubectl در یک نسخه فرعی (minor) قبل یا بعد از kube-apiserver پشتیبانی می‌شود.

مثال:

مثال:

سفارش ارتقاء مؤلفه پشتیبانی شده

اختلاف نسخه (version skew) پشتیبانی شده بین اجزا تأثیراتی بر ترتیب به‌روزرسانی آن‌ها دارد. این بخش ترتیب به‌روزرسانی اجزا را برای انتقال یک خوشه موجود از نسخه 1.32 به نسخه 1.33 توضیح می‌دهد.

به طور اختیاری، هنگام آماده‌سازی برای ارتقا، پروژه کوبرنتیز توصیه می‌کند که موارد زیر را انجام دهید تا از بیشترین تعداد اصلاحات برگشتی (regression) و رفع اشکالات در طول فرآیند ارتقا بهره‌مند شوید:

برای مثال، اگر در حال اجرای نسخه 1.32 هستید، اطمینان حاصل کنید که از جدیدترین نسخه patch آن استفاده می‌کنید. سپس، به جدیدترین نسخه patch از 1.33 ارتقا دهید.

kube-apiserver

پیش‌نیازها:

kube-apiserver به‌روزرسانی کنید 1.33 به نسخه

kube-controller-manager, kube-scheduler, and cloud-controller-manager

نیازمندی ها:

با ارتقا دادن kube-controller-manager, kube-scheduler, و cloud-controller-manager to 1.33. ترتیب مشخص و اجباری برای ارتقاء بین kube-controller-manager، kube-scheduler و cloud-controller-manager وجود ندارد. می‌توانید این مولفه (component) را به هر ترتیبی که می‌خواهید یا حتی به‌صورت همزمان ارتقاء دهید.

kubelet

نیازمندی ها:

اختیاری است که نمونه‌های kubelet را به نسخه 1.33 ارتقاء دهید (یا می‌توان آن‌ها را در نسخه‌های 1.32، 1.31، یا 1.30 باقی گذاشت).

kube-proxy

نیازمندی ها:

اختیاری است که نمونه‌های kube-proxy را به نسخه 1.33 ارتقاء دهید (یا می‌توان آن‌ها را در نسخه‌های 1.32، 1.31، یا 1.30 باقی گذاشت).