در ادامه ی سلسه مطلب آموزش نصب و پیکربندی Docker Swarm قصد داریم تا در مورد Node ها صحبت کنیم.
Draining a node:
زمانی که Node ها در کلاستر باشند وضعیت آنها Ready و AVAILABILITY آنها Active می باشد که به معنی آن می باشد که Node آماده ی دریافت task از manager node می باشد. برای بررسی وضعیت Node ها می توانید دستور زیر را بر روی manager node اجرا کنید:
# docker node ls
در برخی مواقع اگر قصد maintenance کردن یک Node را داشته باشید می توانید وضعیت Node را به Drain تغییر دهید تا service ها و یا container هایی که بر روی آن Node در حال اجرا می باشند به Node های دیگر در Swarm Cluster منتقل شوند.
زمانی که وضعیت Node به Drain تغییر می کند از دریافت task از manager node جلوگیری می شود.
اکنون قصد داریم به عنوان مثال وضعیت worker02 را به Drain تغییر دهیم. به همین منظور کافیست تا دستور زیر را بر روی manager node اجرا کنیم:
# docker node update --availability drain docker-swarm-worker02
یک نمونه از خروجی دستور گفته شده را در تصویر پایین مشاهده می کنید:
اکنون برای بررسی وضعیت Node های کلاستر می توانید دستور پایین را اجرا کنید:
# docker node ls
یک نمونه خروجی از دستور گفته شده را در تصویر پایین مشاهده می کنید:
همانطور که در تصویر بالا مشاهده می کنید، وضعیت worker02 به Drain تغییر کرده است. در این زمان manager node پس از تغییر وضعیت Node به حالت Drain تمامی container هایی که بر روی آن Node در حال اجرا بودند را بر روی Node های دیگر کلاستر reschedule می کند.
برای برگشت وضعیت Node به حالت Active کافیست تا دستور پایین را اجرا کرد:
# docker node update --availability active docker-swarm-worker02
Remove a node :
برای حذف یک Node از Swarm Cluster کافیست تا دستور زیر را بر روی Node مورد نظر خود اجرا کنید. به عنوان نمونه ما قصد داریم تا worker02 را از Swarm Cluster حذف کنیم، به همین منظور دستور زیر را بر روی worker02 باید اجرا کرد:
# docker swarm leave
یک نمونه از خروجی دستور گفته شده را در تصویر پایین مشاهده می کنید:
اکنون برای بررسی وضعیت Node های کلاستر دستور زیر را بر روی manager node اجرا کنید:
# docker node ls
یک نمونه خروجی از اجرای دستور گفته شده را در تصویر پایین مشاهده می کنید:
همانطور که در تصویر بالا مشاهده می کنید status آن Node به حالت Down تغییر کرده است. اکنون برای حذف آن کافیست تا دستور زیر را بر روی manager node اجرا کنید:
# docker node rm docker-swarm-worker02
یک نمونه خروجی از اجرای دستور گفته شده را در تصویر پایین مشاهده می کنید:
اکنون برای بررسی Node های کلاستر کافیست تا یکبار دیگر دستور زیر را اجرا کنید:
# docker node ls
یک نمونه خروجی از اجرای دستور گفته شده را در تصویر پایین مشاهده می کنید:
همانطور که در تصویر بالا مشاهده می کنید، worker02 از Swarm Cluster حذف شد.
برای برگرداندن worker02 به کلاستر کافیست تا همان دستور join را بر روی Node اجرا کرد :
# docker swarm join --token SWMTKN-1-5s96w0psw3d23abbt9gh989hwr39sz7yuxoezwy2n5tkaduh01-273rbipslimobssdpd39j2w0p 192.168.122.245:2377
سپس می توانید وضعیت Node های کلاستر را با دستور پایین بررسی کنید:
# docker node ls
خروجی دستورهای گفته شده را در تصاویر پایین مشاهده می کنید:
امید است تا از این سلسله مطلب استفاده ی لازم را برده باشید.
پایان
سلام، ممنون از اینکه هنوز هستی، تقریبا جزو اخرین وبلاگهای لینوکسی
ولی یه انتقاد هم دارم، مطالب دم دستی و ساده و فان تقریبا حذف شده! برای ما کاربرای عادی هم چندتا پست بزار
خدا حفظت کنه
درود بر شما
ممنون از اینکه شما هم هستین.
چشم حتما 🙂