Files
netology-devops/src/homework/12-kubernetes/12.3/readme.md

3.4 KiB
Raw Blame History

Выполнение домашнего задания по теме "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 ГБ