در این بخش از آموزش کوبرنتیز، یاد میگیریم چگونه یک نود را بهطور امن از چرخه سرویسدهی خارج کنیم. با استفاده از دستورات Kubernetes Cordon و Drain میتوانیم جلوی پذیرش پادهای جدید را بگیریم و همه پادها را بهصورت کنترلشده از نود تخلیه کنیم.
مدیریت نودها در Kubernetes یکی از وظایف مهم برای ادمینهاست، مخصوصاً هنگام ارتقاء یا نگهداری کلاستر. دو دستور کلیدی در این زمینه Cordon و Drain هستند.
Cordon چیست؟
-
دستور
kubectl cordon <node>
یک نود را در حالت Unschedulable قرار میدهد. -
این یعنی نود دیگر پاد جدیدی را قبول نمیکند، اما پادهای فعلی همچنان روی آن باقی میمانند.
-
استفاده: وقتی میخواهید جلوی پذیرش بار جدید روی نود را بگیرید بدون اینکه پادهای فعلی مختل شوند.
Drain چیست؟
-
دستور
kubectl drain <node>
همه پادها (بهجز DaemonSetها و Static Podها) را از نود تخلیه میکند. -
Kubernetes تلاش میکند پادها را روی نودهای دیگر زمانبندی کند.
-
استفاده: وقتی میخواهید نود را برای نگهداری، ارتقاء یا بازنشست کردن از چرخه کلاستر خارج کنید.
چه زمانی از این دستورات استفاده کنیم؟
-
هنگام نگهداری سختافزار یا ارتقاء سیستمعامل نود.
-
موقع ارتقاء Kubernetes یا تغییر در تنظیمات کلاستر.
-
زمانی که میخواهید یک نود را بهطور موقت یا دائم از کلاستر خارج کنید.
نکات مهم
-
همیشه بعد از Drain و انجام کارهای نگهداری، با دستور
kubectl uncordon <node>
نود را به چرخه برگردانید. -
حواستان باشد اگر ظرفیت کافی در نودهای دیگر نباشد، پادها ممکن است Pending بمانند.
این ویدئو به شما کمک میکند درک کنید چطور با کمترین اختلال، نودها را مدیریت کنید و کلاسترتان را پایدار نگه دارید.