Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 

README.md

Домашнее задание к занятию "12.3 Развертывание кластера на собственных серверах, лекция 1"

Поработав с персональным кластером, можно заняться проектами. Вам пришла задача подготовить кластер под новый проект.

Задание 1: Описать требования к кластеру

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

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

Выполненное домашнее задание пришлите ссылкой на .md-файл в вашем репозитории.

План расчета

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

Ответ: Описать требования к кластеру

  1. Рассчитаем необходимый минимум рабочей ноды:

    • База данных 3*(4RAM+1CPU)=12RAM+3CPU
    • Кеш 3*(4RAM+1CPU)=12RAM+3CPU
    • Фронт 5*(0.05RAM+0.2CPU)=0.25RAM+1CPU
    • Бек 10*(0.6RAM+1CPU)=6RAM+10CPU

    Итого: 30.25RAM + 17CPU для request resources. Заложим запас на рост нагрузки ~20%, итого: 37RAM + 20CPU.

  2. С такой нагрузкой могут справится 2 рабочие ноды по 32RAM и 12CPU c учетом служебной нагрузки рабочих нод (1RAM + 1CPU).

  3. С учетом того, что по ТЗ необходимо обеспечить резервирование рабочей ноды с помощью одной дополнительной ВМ, получаем 3 ноды по 32RAM и 12CPU.

  4. см. п.2.

  5. Итоговые цифры для развертывания кластера Kubernetes указаниы ниже. Для мастер ноды взята фактически минимальная возможная конфигурация (решил расширить обьем RAM до 4Gb).

    ControlPlane: 3 ноды по 4RAM и 2CPU
    Worker: 3 ноды по 32RAM и 12CPU

PS: Формально за служебную нагрузку взяты минимальные вычислительные ресурсы, которые требуются для развертывания рабочей и мастер ноды. Думаю это вполне корректно для оценочного рассчета необходимых ресурсов для развертывания кубер-кластера.