How to setup Docker Swarm in ubuntu 20.04

  • برای این منظور ۳ سرور در می‌گیریم.
docker01 172.16.112.169
docker02 172.16.112.170
docker03 172.16.112.171
  • سرور اول به عنوان Master و دو سرور دیگر به عنوان Worker فعالیت خواهند کرد.
  • عیتا کد گفته شده در بالا را به پرونده‌ی زیر اضافه نمایید.
# vim /etc/hosts
  • بر روی هر ۳ تا سرور محصول docker-ce را نصب و راه‌اندازی نمایید.
  • بر روی سرور اول که به عنوان Master شناخته می‌شود دستور زیر را به منظور راه‌اندازی کلاستر اجرا نمایید.
# docker swarm init --advertise-addr 172.16.112.169
  • در ادامه در سرورهای Worker که در اینجا سرور دوم و سوم می‌شود ، کد زیر را اجرا نمایید.
# docker swarm join --token SWMTKN-1-13xo8... 172.16.112.169:2377
  • نکته : عبارت رنگی شده توکن مربوط به کلاستر بوده که باید متناسب با سیستم تعویض شود.
  • در نهایت به منظور مشاهده‌ی تمام Node ها و جزییات مربوط به آن‌ها، از دستور زیر استفاده کنید.
# docker node ls
ID                          HOSTNAME STATUS AVAILABILITY MANAGER STATUS ENGINE VERSION
w4povdqvzhlrr9m26s7htnn7h * docker01 Ready  Active        Leader          20.10.8
i4nio4f3ypcibmbnsttbe7dy8   docker02 Ready  Active                        20.10.8
mdazszrlm050kz5mq98omv4nf   docker03 Ready  Active                        20.10.8
  • نکته : کد بالا تنها در سرورهای Master اجرا می‌شود.
  • حال به منظور آزمایش می‌توان یک Container از روی Image ربوط به Application ایجاد کرد. به عنوان مثال:
# docker service create --name web-server --publish 8080:80 nginx:1.13-alpine
  • به منظور مشاهده‌ی سرویسی که ایجاد شده است یا به منظور مشاهده‌ی تمام سرویس‌ها به صورت زیر عمل نمایید.
# docker service ls
  • در سناریو این مستند ۳ سرور داشتیم ، حال نیاز است برای کانتینری که ساختیم قابلیت Replication در نظر بگیریم.
# docker service scale web-server=3
  • با انجام عمل بالا ، پورت ۸۰ هر ۳ سرور اشاره به Application ما خواهند کرد. (صفحه‌ی پیش‌فرض Nginx باز خواهد شد.)
  • تست شده بر روی Ubuntu 20.04

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

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