Рассчитать требования к кластеру под проект
Известно, что проекту нужны база данных, система кеширования, а само приложение состоит из бекенда и фронтенда. Опишите, какие ресурсы нужны, если известно:
- Необходимо упаковать приложение в чарт для деплоя в разные окружения.
- База данных должна быть отказоустойчивой. Потребляет 4 ГБ ОЗУ в работе, 1 ядро. 3 копии.
- Кеш должен быть отказоустойчивый. Потребляет 4 ГБ ОЗУ в работе, 1 ядро. 3 копии.
- Фронтенд обрабатывает внешние запросы быстро, отдавая статику. Потребляет не более 50 МБ ОЗУ на каждый экземпляр, 0.2 ядра. 5 копий.
- Бекенд потребляет 600 МБ ОЗУ и по 1 ядру на копию. 10 копий.
- Домашняя работа оформляется в своем Git-репозитории в файле README.md. Выполненное домашнее задание пришлите ссылкой на .md-файл в вашем репозитории.
- Сначала сделайте расчёт всех необходимых ресурсов.
- Затем прикиньте количество рабочих нод, которые справятся с такой нагрузкой.
- Добавьте к полученным цифрам запас, который учитывает выход из строя как минимум одной ноды.
- Добавьте служебные ресурсы к нодам. Помните, что для разных типов нод требовния к ресурсам разные.
- В результате должно быть указано количество нод и их параметры.
- База данных:
- Отказоустойчивость: 3 копии
- Ресурсы на одну копию: 4 ГБ ОЗУ, 1 ядро
- Итого на все 3 копии: 12 ГБ ОЗУ, 3 ядра
- Система кеширования:
- Отказоустойчивость: 3 копии
- Ресурсы на одну копию: 4 ГБ ОЗУ, 1 ядро
- Итого на все 3 копии: 12 ГБ ОЗУ, 3 ядра
- Фронтенд:
- Ресурсы на одну копию: не более 50 МБ ОЗУ, 0.2 ядра
- Количество копий: 5
- Итого: не более 250 МБ ОЗУ, 1 ядро
- Бекенд:
- Ресурсы на одну копию: 600 МБ ОЗУ, 1 ядро
- Количество копий: 10
- Итого: 6 ГБ ОЗУ, 10 ядер
Cуществуют минимальные требования к кластеру Kubernetes:
Процессор: рекомендуется использовать серверы с не менее чем 2-мя ядрами.
Оперативная память: минимальное количество ОЗУ на каждом сервере должно быть не менее 2 ГБ
Нам потребуется три рабочие ноды.
Расчёт на одну ноду с запасом 20%:
Колличество ядер = 20 ядер / 3 = 7 ядер + 2 ядра на работу системных компонентов = 9 ядер.
Количество оперативной памяти = 36 Гб / 3 = 12 ГБ + 2 на работу ноды = 14 ГБ.