Въведение в Докер рояк / Определение
Докер рояк е един от инструментите, налични в Docker контейнерите, които са платформа / инструмент за оркестрация с отворен код. Нарича се още нативен инструмент за клъстериране и планиране на Docker. Когато размерът на контейнерите нараства, става много трудно да се управлява всичко там, там е ролята на Swarm. Той помага на разработчиците и администраторите да управляват и установят клъстер от Docker възли под формата на един-единствен виртуален машина.
Концепциите / ключовите термини, използвани за Docker Swarm
- Рояк - Роякът е съставен от много докерски системи / хостове, които работят в режим на роя.
- Swarmkit - Swarmkit се използва за изпълнение на слоя от оркестрацията на Докер.
- Задача - Задача се състои от команди и контейнера, който трябва да се изпълнява вътре в контейнера. Задачите се разпределят от ръководителя на роя до възлите.
- Възли - възелът може да бъде определен като единствен Докер двигател и които участват в рояка. Доброто разгръщане на производствения рой е това, което разпределени докерни възли се разпространява в много машини.
- Услуга - Всеки път, когато се създаде услуга, тя посочва контейнера, който трябва да се използва, и командите, които трябва да се изпълняват вътре в контейнера. Така че услугата е списък със задачи, които трябва да се изпълняват на работника или на мениджърските възли.
- Мениджър възли - задачата на мениджърските възли е да изпраща задачите към работните възли. Мениджърските възли са отговорни и за изпълнение на други функции като управление на клъстера и оркестрацията.
- Работни възли - Работата на работния възел е да въвежда задачите, идващи от възела на мениджъра и да ги изпълнява. Работен възел е инсталиран с агенти, които докладват на възлите на мениджъра единиците от работата, възложени му.
- Лидерни възли - служи като лидер за изпълнение на задачи, свързани с оркестрацията.
Какво може да се направи, като се използва Docker Swarm
Swarm е много полезен за администраторите и разработчиците в екосистема на Docker. Следват някои от задачите, които докерът може да изпълни:
- Може да се използва за мащабиране на броя на контейнерите.
- За установяване на координация между контейнерите.
- За разпределяне на задачи към групата контейнери.
- За управление на жизнения цикъл на контейнерите, както и за извършване на редовни здравни проверки.
- За обслужване на целите на разгръщане на актуализациите на софтуера сред контейнерите.
Разбиране на Докер рояк / Работа
По-долу е работата на докер роя, които са както следва:
Работа с възли
Както видяхме, има два вида възли, т.е. мениджърът и работникът. Нека да разгледаме работата на двете.
Задачите, които се обработват от мениджърските възли са - Планиране на услугите, поддържане на състоянието на клъстера, както и изпълнение на крайните точки на HTTP API. Препоръчително е да стартирате множество възли на мениджър, защото това ще ви помогне да се възползвате от функциите за устойчивост на грешки на рояка.
Работните възли изпълняват контейнерите и е необходим минимум 1 мениджър възел, за да функционира.
Работа на услуги
Единствената цел на услугите е да разположат изображение на приложението към роя Докер. Например, DB сървър, уеб сървър, HTTP сървъри са примери за услуги.
Процеси и условия в услугата:
- Задача неуспех - Всеки път, когато задача не успее в докер рояк, обикновено тя не се рестартира. Така че задачата на оркестъра е да премахне тази неуспешна задача и да я замени с новата, която е в съответствие със състоянието на услугата.
- Вариант на услугата - Всеки път, когато се създаде услуга, винаги можем да определим порт, на който услугата може да бъде използвана (за външни потребители), могат да се прилагат ограничения на паметта и процесора, могат да се определят политики за актуализиране и т.н.
- Чакаща услуга - Услугата преминава в състояние на изчакване, когато понастоящем няма достъп до възли в роя на докера, който да изпълни задачата.
Докер роя филтри
Докер роякът има 5 филтъра:
- Affinity - Целта на филтъра за афинитет е да гарантира, че контейнерите работят в същия мрежов възел и той също така определя последователността, в която контейнерите трябва да се изпълняват.
- Пристанище - Портът определя специален ресурс. Когато контейнер работи на порта, който не е свободен, той ще се прехвърли към другите налични възли.
- Ограничение - Когато се създаде възел, можем да назначим двойки ключ-стойност с помощта на ограничителен филтър.
- Зависимост - Всеки път, когато има зависимост между контейнерите, филтрите за зависимост планират тези на същия възел.
- Здраве - Ако някой от възлите е спрян и не работи, този филтър няма да назначи контейнери върху него.
Някои Докер ройни команди:
Предназначение | команда |
Създаване на рояк | Докер рояк инит |
Присъединяване към рояк | докер рояк се присъедини \
–Избран Token_number \ IP: Порт |
Създаване на услуга и именуване на нея | docker service create - име Edu |
Премахване на услуга | докер услуга премахнете Edu |
Услуга за актуализиране | актуализация на услугата за докер |
Мониторинг на здравето на възлите | докер възел ls |
Предимства и недостатъци
Нека сега видим предимствата и недостатъците на докерския рой
Предимства:
- Разгръщането е лесно и режимът на роя по подразбиране се предлага с Docker Engine.
- Инсталирането е лесно и бързо.
- Интеграцията на рояка може лесно да се постигне с Docker CLI и Docker compose
- Не се изисква много опит и ученето е лесно.
Недостатъци:
- За да се мащабират услугите, е необходима ръчна намеса.
- Има ограничена поносимост на грешките.
- Не са налични по-широки функции от сега.
- Той има по-малка общност в сравнение с други инструменти за оркестрация, налични като Kubernetes.
заключение
В тази статия започнахме с основен преглед и дефиниция на роя Докер и също видяхме важните термини, използвани в технологията за роя, която е част от екосистемата. Тогава ние се опитахме да разберем как работи зад Docker рояк и също научихме няколко Docker команди, които се използват в режим на роя.
Препоръчителни статии
Това е ръководство за това какво е Докер рояк ?. Тук обсъдихме концепцията, командването, филтрите, използването и разбирането на Docker Swarm. Можете да разгледате и другите ни предложени статии, за да научите повече -
- Въпроси за интервю с Докер
- Какво е Касандра?
- Въпроси за интервю за микросервизи
- Какво е Дженкинс?