mirror of
https://github.com/Dannecron/netology-devops.git
synced 2025-12-25 23:32:37 +03:00
add homework 5.5, task 1
This commit is contained in:
32
src/homework/05-virtualization/5.5/readme.md
Normal file
32
src/homework/05-virtualization/5.5/readme.md
Normal file
@@ -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-сети, который позволяет связать контейнеры, запущенные на разных нодах.
|
||||
То есть, данная сеть позволяет направить трафик на определённый контейнер на определённой ноде только по имени контейнера.
|
||||
Reference in New Issue
Block a user