diff --git a/readme.md b/readme.md index 52b28f6..a04428f 100644 --- a/readme.md +++ b/readme.md @@ -23,3 +23,4 @@ * [5.2. Применение принципов IaaC в работе с виртуальными машинами](/src/homework/05-virtualization/5.2) * [5.3. Введение. Экосистема. Архитектура. Жизненный цикл Docker контейнера](/src/homework/05-virtualization/5.3) * [5.4. Оркестрация группой Docker контейнеров на примере Docker Compose](/src/homework/05-virtualization/5.4) +* [5.5. Оркестрация кластером Docker контейнеров на примере Docker Swarm](/src/homework/05-virtualization/5.5) diff --git a/src/homework/05-virtualization/5.5/readme.md b/src/homework/05-virtualization/5.5/readme.md new file mode 100644 index 0000000..24f3236 --- /dev/null +++ b/src/homework/05-virtualization/5.5/readme.md @@ -0,0 +1,32 @@ +Выполнение [домашнего задания](https://github.com/netology-code/virt-homeworks/blob/virt-11/05-virt-05-docker-swarm/README.md) +по теме "5.5. Оркестрация кластером Docker контейнеров на примере Docker Swarm". + +## Q/A + +### Задача 1 + +> Дайте письменные ответы на следующие вопросы: + +> - В чём отличие режимов работы сервисов в Docker Swarm кластере: replication и global? + +В режиме `replication` для сервиса указывается количество реплик, которые необходимо запустить. +И именно такое количество копий сервиса будет запущено, не зависимо от количества нод в кластере. + +В режиме `global` указанный сервис будет запущен на каждой ноде кластера. При этом невозможно указать конкретное количество реплик. + +> - Какой алгоритм выбора лидера используется в Docker Swarm кластере? + +Для выбора лидера docker swarm использует алгоритм поддержания распределенного консенсуса — [`Raft`](https://raft.github.io/). + +Верхне-уровневый принцип работы `Raft` (основано на [примере](http://thesecretlivesofdata.com/raft/)): + +- Каждая нода может находиться в одном из 3-х состояний: `Follower`, `Candidate`, `Leader`. +- В начале работы кластера все ноды находятся в состоянии `Follower`. +- Если нода в состоянии `Follower` не получает информации от `Leader`, то она переходит в состояние `Candidate`. +- После перехода в состояние `Candidate` нода запрашивает "голосование" от других нод кластера. +- Ноды отвечают на опрос кандидату, который инициировал голосование. Если данный кандидат получил большинство положительных ответов, то он переходит в состояние `Leader`. + +> - Что такое Overlay Network? + +`Overlay Network` - это особый тип docker-сети, который позволяет связать контейнеры, запущенные на разных нодах. +То есть, данная сеть позволяет направить трафик на определённый контейнер на определённой ноде только по имени контейнера. \ No newline at end of file