Skip to content

Latest commit

 

History

History

14-kubernetes-01

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 

Домашнее задание к занятию "Компоненты Kubernetes"

Цель задания

Рассчитать требования к кластеру под проект


Инструменты/ дополнительные материалы, которые пригодятся для выполнения задания


Задание. Необходимо определить требуемые ресурсы.

Известно, что проекту нужны база данных, система кеширования, а само приложение состоит из бекенда и фронтенда. Опишите, какие ресурсы нужны, если известно:

  1. Необходимо упаковать приложение в чарт для деплоя в разные окружения.
  2. База данных должна быть отказоустойчивой. Потребляет 4 ГБ ОЗУ в работе, 1 ядро. 3 копии.
  3. Кэш должен быть отказоустойчивый. Потребляет 4 ГБ ОЗУ в работе, 1 ядро. 3 копии.
  4. Фронтенд обрабатывает внешние запросы быстро, отдавая статику. Потребляет не более 50 МБ ОЗУ на каждый экземпляр, 0.2 ядра. 5 копий.
  5. Бекенд потребляет 600 МБ ОЗУ и по 1 ядру на копию. 10 копий.

Правила приема работы

  1. Домашняя работа оформляется в своем Git репозитории в файле README.md. Выполненное домашнее задание пришлите ссылкой на .md-файл в вашем репозитории.
  2. Сначала сделайте расчет всех необходимых ресурсов
  3. Затем прикиньте количество рабочих нод, которые справятся с такой нагрузкой.
  4. Добавьте к полученным цифрам запас, который учитывает выход из строя как минимум одной ноды.
  5. Добавьте служебные ресурсы к нодам. Помните, что для разных типов нод требовния к ресурсам разные.
  6. В результате должно быть указано количество нод и их параметры.

Решение

Исходим из того, что БД и Кеш находятся на отдельных узлах, где нет других приложений, кроме них. Часть ресурсов будет провисать, но головняка будет меньше, так надежнее.

Предлагаю 2 приложения back + 1 front размещать на одном узле, в результате там будет ресурсов для ещё поднятия приложения back и front-ов, если в других местах будет падать.

Также один узел как запасной, который не превышает самый больший по ресурсам из узлов, с целью, если такой узел упадет.


БД
3 ноды
2 ядра
5 ГБ

Общее количество ресурсов: 6 ядер 15 ГБ


КЕШ
3 ноды
2 ядра
5 ГБ

Общее количество ресурсов: 6 ядер 15 ГБ


Два приложения back и одно приложение front на одной ноде

back(2)+front(1)
5 нод
3 ядра
2 ГБ

Общее количество ресурсов: 15 ядер 10 ГБ


Запас
1 нода
2 ядра
5 ГБ

Общее количество ресурсов: 2 ядра 5 ГБ


Общее количество ресурсов для кластера: 29 ядер и 45 ГБ с учетом расходов на ОС и кубик.