mirror of
https://github.com/Dannecron/netology-devops.git
synced 2025-12-25 23:32:37 +03:00
homework 12.3: complete all tasks
This commit is contained in:
@@ -59,3 +59,4 @@
|
||||
* [11.4. Микросервисы: масштабирование](/src/homework/11-microservices/11.4)
|
||||
* [12.1. Компоненты Kubernetes](/src/homework/12-kubernetes/12.1)
|
||||
* [12.2. Команды для работы с Kubernetes](/src/homework/12-kubernetes/12.2)
|
||||
* [12.3. Развертывание кластера на собственных серверах, лекция 1](/src/homework/12-kubernetes/12.3)
|
||||
|
||||
35
src/homework/12-kubernetes/12.3/readme.md
Normal file
35
src/homework/12-kubernetes/12.3/readme.md
Normal 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 ГБ
|
||||
Reference in New Issue
Block a user