ابرآراز | ArazCloud

استفاده از Docker Swarm بر روی سرورهای ابری برای ارکستراسیون کانتینرها

این مستند راهنمایی برای استفاده از Docker Swarm بر روی سرورهای ابری برای ارکستراسیون کانتینرها است. Docker Swarm یک ابزار قدرتمند برای مدیریت و ارکستراسیون کانتینرها در محیط‌های توزیع‌شده است. در این مستند، نحوه راه‌اندازی و پیکربندی Docker Swarm را با استفاده از ابزارهایی مانند AWS و Azure نشان خواهیم داد.

پیش‌نیازها

  • دسترسی به چندین سرور ابری
  • نصب Docker بر روی سرورها
  • دسترسی به اینترنت

نصب Docker

نصب Docker بر روی Ubuntu

برای نصب Docker بر روی هر سرور Ubuntu، از دستورات زیر استفاده کنید:

sudo apt update
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt update
sudo apt install -y docker-ce

اضافه کردن کاربر به گروه Docker

sudo usermod -aG docker ${USER}

راه‌اندازی Docker Swarm

مرحله 1: ایجاد یک خوشه Docker Swarm

برای راه‌اندازی یک خوشه Docker Swarm، یکی از سرورها را به عنوان مدیر خوشه انتخاب کنید و دستور زیر را اجرا کنید:

docker swarm init --advertise-addr <MANAGER-IP>

خروجی این دستور شامل توکن‌هایی برای پیوستن نودهای کارگر به خوشه است.

مرحله 2: پیوستن نودهای کارگر به خوشه

برای پیوستن نودهای کارگر به خوشه، از توکن‌هایی که در مرحله قبلی به دست آمده استفاده کنید. روی هر نود کارگر دستور زیر را اجرا کنید:

docker swarm join --token <WORKER-TOKEN> <MANAGER-IP>:2377

مرحله 3: تأیید وضعیت خوشه

برای تأیید وضعیت خوشه و مشاهده نودهای موجود، از دستور زیر استفاده کنید:

docker node ls

پیکربندی سرویس‌ها با Docker Swarm

ایجاد فایل Docker Compose

یک فایل به نام docker-compose.yml ایجاد کنید و محتویات زیر را در آن قرار دهید:

version: '3'
services:
  web:
    image: nginx
    deploy:
      replicas: 3
      restart_policy:
        condition: on-failure
    ports:
      - "80:80"
  db:
    image: mysql
    environment:
      MYSQL_ROOT_PASSWORD: example
    deploy:
      replicas: 1

پیاده‌سازی سرویس‌ها

برای پیاده‌سازی سرویس‌ها بر روی خوشه Docker Swarm، از دستور زیر استفاده کنید:

docker stack deploy -c docker-compose.yml my_stack

بررسی وضعیت سرویس‌ها

برای بررسی وضعیت سرویس‌ها، از دستور زیر استفاده کنید:

docker service ls

مشاهده لاگ‌های سرویس

برای مشاهده لاگ‌های یک سرویس خاص، از دستور زیر استفاده کنید:

docker service logs my_stack_web

مقیاس‌بندی سرویس‌ها

برای مقیاس‌بندی سرویس‌ها و تغییر تعداد نودهای در حال اجرا، از دستور زیر استفاده کنید:

docker service scale my_stack_web=5

به‌روزرسانی سرویس‌ها

برای به‌روزرسانی یک سرویس با نسخه جدید، فایل docker-compose.yml را ویرایش کنید و سپس از دستور زیر استفاده کنید:

docker stack deploy -c docker-compose.yml my_stack

حذف سرویس‌ها و خوشه

حذف سرویس‌ها

برای حذف سرویس‌ها از خوشه، از دستور زیر استفاده کنید:

docker stack rm my_stack

ترک کردن خوشه و حذف Docker Swarm

برای ترک کردن خوشه و حذف Docker Swarm از هر نود، از دستور زیر استفاده کنید:

docker swarm leave --force

نتیجه‌گیری

با این راهنمای مستند، شما می‌توانید Docker Swarm را بر روی سرورهای ابری راه‌اندازی کرده و کانتینرهای خود را به طور مؤثر مدیریت کنید. این سیستم به شما کمک می‌کند تا به راحتی سرویس‌های خود را مقیاس‌بندی و به‌روزرسانی کنید و از قابلیت‌های ارکستراسیون Docker بهره‌برداری کنید.