homework 12.3: complete all tasks

This commit is contained in:
2022-11-14 10:12:55 +07:00
parent 71e0b53442
commit 4f4731ccc7
2 changed files with 36 additions and 0 deletions

View File

@@ -0,0 +1,35 @@
Выполнение [домашнего задания](https://github.com/netology-code/devkub-homeworks/blob/main/12-kubernetes-03-install-part-1.md)
по теме "12.3. Развертывание кластера на собственных серверах, лекция 1"
## Q/A
> Поработав с персональным кластером, можно заняться проектами. Вам пришла задача подготовить кластер под новый проект.
### Задание 1
> Описать требования к кластеру
>
> Сначала проекту необходимо определить требуемые ресурсы. Известно, что проекту нужны база данных, система кеширования, а само приложение состоит из бекенда и фронтенда. Опишите, какие ресурсы нужны, если известно:
>
> * База данных должна быть отказоустойчивой. Потребляет 4 ГБ ОЗУ в работе, 1 ядро. 3 копии.
> * Кэш должен быть отказоустойчивый. Потребляет 4 ГБ ОЗУ в работе, 1 ядро. 3 копии.
> * Фронтенд обрабатывает внешние запросы быстро, отдавая статику. Потребляет не более 50 МБ ОЗУ на каждый экземпляр, 0.2 ядра. 5 копий.
> * Бекенд потребляет 600 МБ ОЗУ и по 1 ядру на копию. 10 копий.
Для начала стоит определить требования к control plane, которые будут управлять кластером `kubernetes`.
Если брать минимальные требования к "железу" и рекомендуемое количество инстансов, то
* control plane - 3 ноды, у каждой по 2 ГБ ОЗУ и 2 ядра
Так как кэш и БД должны быть отказоустойчивыми, то для них стоит выделить отдельные виртуальные машины
и не запускать более одной копии на одной ноде. Таким образом, с учётом небольшого запаса в ресурсах,
получится сформировать следующие требования:
* для БД: 4 ноды (3 рабочие + 1 резервная), у каждой 6 ГБ ОЗУ и 2 ядра
* для кэша: 4 ноды (3 рабочие + 1 резервная), у каждой 6 ГБ ОЗУ и 2 ядра
Frontend и backend сервисы можно разворачивать вместе на одной ноде. При этом, в случае проблем,
можно на одной ноде развернуть даже несколько копий одного сервиса. С учётом этих вводных можно определить требования:
* FE + BE: 12 нод (10 рабочих + 2 резервные), у каждой 2 ГБ ОЗУ и 2 ядра
Если посчитать, то в сумме для поддержания работоспособности кластера с запасом на аварийные ситуации потребуется:
* CPU: 6 + 8 + 8 + 24 = 46 ядер
* ОЗУ: 6 + 24 + 24 + 24 = 78 ГБ