Skip to content

Swarm Cluster Setup (সোয়ার্ম ক্লাস্টার সেটআপ)

একটি Docker Swarm ক্লাস্টার তৈরি করা খুবই সহজ কারণ অর্কেস্ট্রেশন ফিচারগুলো ডকার ইঞ্জিনের সাথেই আসে। এই গাইডে আমরা একটি নতুন ক্লাস্টার তৈরি এবং নোড ম্যানেজমেন্ট শিখব।

১. ক্লাস্টার শুরু করা (Initialize Swarm)

যেকোনো একটি সার্ভার (যেটিকে আপনি ম্যানেজার করতে চান) থেকে নিচের কমান্ডটি চালিয়ে ক্লাস্টার শুরু করতে হয়:

bash
docker swarm init --advertise-addr <MANAGER-IP>
  • --advertise-addr: যদি আপনার সার্ভারে একাধিক IP থাকে, তবে কোন IP-টি অন্য নোডরা দেখবে তা নির্দিষ্ট করে দিতে হয়।
  • এটি চালানোর পর আপনাকে একটি 'join token' দেওয়া হবে যা ব্যবহার করে অন্যান্য নোড এই ক্লাস্টারে যুক্ত হতে পারবে।

২. নোড যুক্ত করা (Join Nodes)

অন্য একটি সার্ভারকে ক্লাস্টারে যুক্ত করতে নিচের কমান্ডটি ব্যবহার করুন (যেকোনো ওয়ার্কার নোড হিসেবে):

bash
docker swarm join --token <JOIN-TOKEN> <MANAGER-IP>:2377
  • পোর্ট ২৩৭৭ ডিফল্টভাবে সোয়ার্ম ম্যানেজমেন্টের জন্য ব্যবহৃত হয়।

ম্যানেজার টোকেন পাওয়া

যদি আপনি অন্য কোনো সার্ভারকে 'Manager' হিসেবে যুক্ত করতে চান, তবে ম্যানেজার নোড থেকে টোকেনটি সংগ্রহ করতে হবে:

bash
docker swarm join-token manager

৩. নোড ম্যানেজমেন্ট (Node Management)

ক্লাস্টারে কতগুলো নোড আছে এবং তাদের অবস্থা কী তা দেখার জন্য ম্যানেজার নোড থেকে নিচের কমান্ডগুলো ব্যবহার করা হয়:

নোডের তালিকা দেখা

bash
docker node ls

এটি নোডগুলোর ID, Hostname, Status এবং Availability দেখাবে।

নোডের বিস্তারিত তথ্য

bash
docker node inspect <NODE-ID>        # একটি নির্দিষ্ট নোডের তথ্য

নোড আপডেট করা (Promote/Demote)

আপনি চাইলে কোনো ওয়ার্কারকে ম্যানেজার হিসেবে প্রোমোট করতে পারেন:

bash
docker node promote <NODE-ID>
docker node demote <NODE-ID>         # ম্যানেজার থেকে ওয়ার্কারে পরিবর্তন

৪. সোয়ার্ম থেকে বিদায় নেওয়া (Leave Swarm)

যদি কোনো নোড ক্লাস্টার থেকে বের হয়ে যেতে চায়:

bash
docker swarm leave
  • যদি কোনো ম্যানেজার নোড ক্লাস্টার ধ্বংস করতে চায় (Force leave): docker swarm leave --force

৫. সোয়ার্ম পোর্টস (Security Note)

আপনার ফায়ারওয়াল বা সিকিউরিটি গ্রুপে নিচের পোর্টগুলো ইনবাউন্ড (Inbound) ট্রাফিকের জন্য খোলা থাকতে হবে:

  • 2377/tcp: ক্লাস্টার ম্যানেজমেন্ট কমিউনিকেশন।
  • 7946/tcp & udp: নোডগুলোর মধ্যে কমিউনিকেশন।
  • 4789/udp: ওভারলে নেটওয়ার্ক ট্রাফিকের জন্য।

Released under the MIT License.