سلام خدمت شما مخاطب گرامی که هر هفته با سری مقالات آموزش استفاده از داکر با من همراه بودید و در این مسیر من را همراهی کردید. در ششمین قسمت از مقالات آموزش استفاده از داکر با سراغ داکر سوارم رفته و توضیحات کلی و تکمیلی درباره دستورات نحوه استفاده و نصب داکر سوارم با یکدیگر بحث میکنیم.
در قسمتهای قبلی با دستورات داکر، روش ساخت داکر فایل، ساخت داکر کامپوز فایل و استفاده از داکر کامپوز و چیستی داکر والیوم و استفاده از آن را با یکدیگر آموختیم و حالا نوبت آن است تا به قسمت دیگری از دنیای داکر به اسم داکر سوارم ورود پیدا کنیم. در نظر داشته باشید که این مقاله برای کسانی نوشته شده از که تا کنون تجربهای از کارکردن با داکر نداشته اند و این سلسله مقالات اولین تجربه مواجهه آنها با داکر میباشد. به همین دلیل توضیحات اصولا سطحی و در دسترس بوده و گزینههای جانبی زیادی را بررسی نمیکنیم.
در این مقاله خواهیم خواند:
- داکر سوارم چیست؟
- آموزش نحوه ی نصب داکر سوارم؟
- چرا از داکر swarm استفاده میکنیم؟
توجه داشته باشید که این مقاله در دو قسمت تبیین شده و ادامه مقاله هفته آینده منتشر خواهد شد. در قسمت دوم آموزش استفاده از داکر 7 / داکر سوارم را با هم بررسی می کنیم.
Docker swarm چیست؟
داکر سوارم به یک سری از ماشینها میگویند، که داکر را با خود داشته و اجرا میکنند و به یک کلاستر الحاق میشوند.
تصویر بالا مثالی از نحوه چینش و ساختمان داکر سوارم میباشد. یک نود در این مثال تبدیل به سوارم منیجر شده و چندین نود تبدیل به کارگران (worker)های آن سوارم منیجر خواهندشد. این ویژگی به ما این برتری را میدهد که با استفاده از منابع بسیار بالا داکر های خود را راهاندازی کنیم و از تنها یک ماشین تمام این کانتینرها را مورد بحث و بررسی و مدیریت قرار دهیم.
این تصویر توضیح بیشتری درباره ساختمان داکر سوارم میباشد. در این مدل ارائه شده یک سرویس انجین ایکس وجود دارد؛ در این ساختار یک نود به عنوان سوارم منیجر یا مدیریت کننده سوارم معرفی شده و داکر کانتینرهایی با ایمیج nginx:latest در هر کدام از نود های این سوارم موجود میباشند.
چرا از داکر swarm استفاده میکنیم؟
به طور کلی داکر سوارم ابزاری برای ارکستریشن داکرهاست، که به ما سرویس بسیار در دسترس و سریع و یک پارچهای را ارائه میکند. به طور مثال شما فکر کنید که در سیستم خود ۱۰۰ عدد کانتینر دارید، باید برای مدیریت این ۱۰۰ داکر کانتینر یک سری فعالیتها انجامدهید. که تعدادی از این فعالیتها بدین صورت میباشد:
- سلامت تمام کانتینرها را بررسی کنیم.
- مطمئن شویم تمام کانتینرها در تمام سیستمها در حالت روشن قرار دارند.
- بر مبنای لود سیستم کانتینرها را کوچک و بزرگ کنیم.
- به تمام کانتینرها فایلهای مورد نیاز را اضافه کرده، آنها را آپدیت کرده و تغییر دهیم.
ارکستریتور چیست؟
در تعریف ارکستریتور باید گفت که یک ابزار مدیریت و کنترل کردن تعداد زیادی داکر کانتینر است، که به عنوان یک سرویس و ابزار در دسترس قابل مشاهده میباشد. به طور کلی یک ارکستریتور تمام اعمال بالا را برای ما انجام داده و در صورت از دسترس خارج شدن یکی از کانتینرها به سرعت کانتینر جدیدی را برای ارائه خدمت در مدار قرار میدهد به صورتی که اصلا اختلالی در سیستم احساس نخواهد شد. تعدادی از این ابزار ارکستریتور عبارت است از: Docker Swarm, Kubernetes, Apache Mesos
حداقل موارد مورد نیاز برای نصب داکر سوارم:
تنها ۲ چیز برای نصب داکر سوارم مورد نیاز است:
- داکر نصب شده با حداقل ورژن ۱.۱۳
- داکر ماشین.
از مسیر زیر میتوانید این موضوع را مشاهده کنید.
https://docs.docker.com/machine/install-machine/#installing-machine-directly
در داکر سوارم جالب آن است که تمام سیستمعاملهای مک، ویندوز و لینوکس میتوانند به عنوان ورکری از سوارم منیجر شناخته شوند. لینک پایین هم موضوعات بسیار مهمی برای شما دارد:
https://docs.docker.com/get-started/part4/
نصب داکر سوارم:
برای نصب داکر سوارم باید چندین قدم برداریم، که قدمها به شرح زیر است:
قدم اول:
ابتدا باید داکر ماشینی بسازیم تا به عنوان نود داکر سوارم منیجر در کلاستر ما ایفای نقش کند. از یکی از دستورات زیر برای استفاده از این آپشن استفاده میکنیم:
docker-machine create --driver hyperv manager1 docker-machine create --drive virtualbox manager1
در این خط –driver مجازی ساز این اتفاق بوده و manager1 اسم نود سوار منیجر میباشد.
اصولا دستور اول فقط ویندوز استفاده شده و برای دیگر سیستمعاملها از دستور دوم استفاده میکنیم.
در صورتی که در استفاده از این دستورات به مشکل خوردید مخصوصا اگر ارور:
VBoxManage not found. Make Sure VirtualBox is installed and VBoxManager is in the path
یا
docker-machine:Error with pre-create check: "exit status 126"
را دریافت کردید از لینک زیر استفاده کنید.
و در ادامه دوباره یکی از دستورات بالا را استفاده کنید. بعد از این اتفاق داکر ماشین شما ساخته میشود و شما میتوانید برای اتصال به این ماشین اس دستور زیر استفاده کنید:
docker-machine env manager1
در خط بالا منظور از manager1 اسم داکر ماشین سوارم منیجر میباشد. در اینجا داکر ماشین های مورد نظر خود را با موفقیت ساختیم.
قدم دوم:
در قدم دوم از نصب داکر سوارم باید لیستی از ماشینهای ساختهشده خود با استفاده از دستور زیر تهیه کنیم تا از وجود و صحت این ماشینها کاملا مطمئن شویم:
docker-machine ls
با استفاده از دستور زیر هم میتوانیم ip ماشین ساختهشده را به دست آوریم:
docker-machine ip manager1
در خط بالا منظور از manager1 اسم داکر ماشین سوارم منیجر میباشد.
در ادامه ماشینهای کارگر (worker) را میسازیم تا کلاستر داکر سوارم ما کامل شود.
برای ساخت این ماشینها از دستور زیر استفاده میکنیم.
docker-machine create --driver virtualbox worker1 docker-machine create --driver virtualbox worker2 docker-machine create --driver virtualbox worker3 ....
قدم سوم:
در قدم سوم از نصب داکر سوارم در نظر داشته باشید، که تعداد ورکرهای داکر سوارم میتواند با توجه به خواسته شما هر تعداد ممکن باشد.
در این قدم میخواهیم به داکر ماشینهای ایجاد شده متصل شویم. برای این کارکافیست از دستور زیر استفاده کنیم:
docker-machine ssh manager1
در خط بالا منظور از manager1 اسم داکر ماشین سوارم منیجر میباشد. شما می توانید ماشین مورد نظر خود را در این قسمت وارد کنید.
قدم چهارم از نصب داکر سوارم:
در این قدم میخواهیم مقداردهی خود برای ماشینهای ساخته شده را انجام دهیم؛ بدان معنا که نقش هر ماشین را مشخص کنیم.
برای این کار باید در داخل ماشین سوارم منیجر از این دستور استفاده کنیم:
docker swarm init --advertise-addr IP_SWARM_MANAGER
در خط بالا IP_SWARM_MANAGER، نشانگر آی پی ماشین سوارم منیجر میباشد.
بعد از انجام این دستور، یک خط با این مدل جواب در خروجی دستور به شما ارائه میگردد.
docker swarm join --token TOKEN IP:PORT
برای اضافه کردن ورکر به این سوارم منیجر، تنها کافیست این دستور را در ورکرهای خود اجرا کنید. برای اضافه کردن یک منیجر به سوارم خود میتوانید از دستور زیر استفاده کنید:
docker swarm join-token manager
که در خروجی این دستور روش اضافه کردن منیجر به سوارم و همچنین توکن این اتفاق به شما نمایش خواهد داده شد. بعد از انجام فعالیتهای بالا میتوانیم با دستور زیر حالت وجودی نودهای خود را بررسی کنیم:
docker node ls
قدم پنجم از نصب داکر سوارم:
با استفاده از دستور ارائه شده در هنگام معرفی سوارم منیجر که در بالا ذکر شد، ورکرها را به کلاستر داکر سوارم خود اضافه میکنیم.
در صورتی که توکن مورد نیاز خود را ندارید، میتوانید از دو دستور زیر برای اضافه کردن ورکر و سوارم منیجر استفاده کنید:
docker swarm join-token worker docker swarm join-token manager
قدم ششم:
در قدم ششم از نصب داکر سوارم، در داخل نود سوارم منیجر از دستورات استاندارد داکر برای انجام اتفاقات استفاده میکنیم.
به طور مثال:
docker info
در نظر داشته باشید که در خروجی دستور بالا باید عبارت Swarm: active را مشاهده نمایید.
با استفاده از دستور زیر هم میتوانید گزینههای استفاده از swarm را در نود سوارم منیجر خود استفاده کنید.
docker swarm
تا اینجای بحث یاد گرفتیم که داکر سوارم چیست و ما چگونه میتوانیم آنرا نصب کنیم. هفته بعد با قسمت دوم این مقاله در خدمت شما خواهیم بود. با تشکر از شما که امروز در بررسی اولیه و نصب داکر سوارم با من همراه بودید.
دلیل انتخاب سرورهای ابر آراز چه می تواند باشد؟
در ابر آراز شما شاهد ارائه ی کلیه سرویس ها با بالاترین سرعت و امنیت هستید. همچنین ابر آراز با ارائه ی خدمات پشتیبانی 24 ساعته و رایگان در خدمت شماست، تا در صورت بروز هرگونه مشکلی در سریعترین زمان ممکن مشکل شما را رفع نماید.