Install Docker Swarm

 

تنظیمات فایروال را برای همه نود ها ست میکنیم:

firewall-cmd --add-port=2376/tcp --permanent
firewall-cmd --add-port=2377/tcp --permanent
firewall-cmd --add-port=7946/tcp --permanent
firewall-cmd --add-port=7946/udp --permanent
firewall-cmd --add-port=4789/udp --permanent
firewall-cmd --reload

برای همه نود ها HostName مناسب ست میکنیم

hostnamectl set-hostname {NEW_NAME}

یک نود را مستر در نظر میگیریم و در نود مستر دستور زیر را میزنیم:

docker swarm init

دستور زیر را در نود Manager فعلی اجرا می کنیم تا یک کامند دارای توکن تولید کند و مطابق مراحلی که نتیجه کامند میدهد پیش می رویم. 

docker swarm join-token manager

در این مرحله برچسب های نودها در کلاستر Swarm را براساس HOSTNAME آن ها، تنظیم می کنیم. برچسب گذاری کمک می کند برای استقرار سرویس ها در نود صحیح، براساس برچسب هر نود تصمیم گیری کنیم؛ در واقع برچسب هایی که در این مرحله برای نودهای عضو کلاستر تعیین می شود، در زمان بندی و استقرار WORKLOAD ها (برای مثال Postgres) روی نودها مورد استفاده قرار می گیرد.

docker node update --label-add region={LABEL} {HOSTNAME}

جهت مشاهده لیست نودها به همراه label ها از دستور زیر استفاده می شود.

docker node ls -q | xargs docker node inspect -f '{{ .ID }} [{{ .Description.Hostname }}]: {{ .Spec.Labels }} - {{ .Status.Addr }}'