Kubernetes – это инструмент с открытым кодом. Он заботится об организации контейнеров, автоматизирует их развертывание,обеспечивает беспрерывное увеличение и снятие масштаба, балансировку загрузки и тому подобное.

Kubernetes – это подходящая платформа для расположения микросервисных программ, динамично масштабируемых. Когда работа происходит в производственной среде, такой инструмент является наиболее желаемым и надежным для контейнерной оркестрации.

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

С помощью облачной платформы Google (GCP) вы можете запустить Kubernetes всего несколькими кликами. Его поддерживают другие провайдеры, например, AWS и Azure. Существует число управляемых платформ Kubernetes со средами docker, kubelet и cAdvisor.

Kubernetes узлы: как настроить под ключ

Ранее противостостояние разработчиков с тестерами была обычным занятием. Среды для их работы были разными. То, что работало в системе у разработчика, не работало для тестеров.

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

Но организация и запуск нескольких контейнеров – тоже непростая задача. Для работы с  динамическими программами, увеличением/уменьшением количества, число контейнеров – это обычное дело. Выполнять такие задачи вручную может быть сложно и рискованно. Следовательно, нужен инструмент для оркестровки контейнеров. Поэтому необходимо использовать Kubernetes.

В целом Кубернет можно считать большим «суперузлом», общей вычислительной мощностью которого является суммарная мощность всех входящих в него мелких составляющих.

Чтобы получить необходимую емкость кластера, существуют несколько способов. Например, необходима общая емкость кластера в 32 ГБ ОЗУ или в 8 процессорных ядер. Для этого рекомендуется установить 2 узла объемомпо 16 ГБ ОЗУ или небольшие 4 по 8, 2 процессора по 4 ядра, или 4 по 2.

Концепция использования больших узлов или маленьких в результате дает один и тот же результат по ресурсам. Какой же вариант будет оптимальным?

Чтобы их сравнить, разберем все преимущества того и другого способа и соберем в таблице.

Большие Kubernetes узлы Маленькие 
On-premise управлять проще Автоматическое масштабирование производится плавно
Система On-premise – доступнее по цене В облаке цена практически не отличается
Есть возможность запустить более одного приложения Наличие полноценной репликации
Наличие оверхеда на системы-демоны меньше (все ресурсы применяются максимально эффективно) Отказоустойчивость – повышенная

Обращаем внимание, что речь идет только о рабочих составляющих.

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

  1. Предусматривается больше нагрузка pod’ов.
  2. Наличие ограничений на репликации.
  3. Последствия сбоев ощущаются тяжелее.
  4. Шаги автоматического масштабирования больше.

Маленькие Kubernetes узлы имеют следующие недостатки:

  1. Настроить управление сложнее.
  2. Увеличение накладных расходов.
  3. Применение ресурсов менее эффективное.

Так что же лучше: установить несколько больших узлов кластера или отдать предпочтение маленьким? Точного ответа на данный вопрос не существует. Так как выбор нужно осуществлять, в первую очередь, ориентируясь на тип приложения.

Например, если для того чтобы создать и запустить приложение, необходимо 10 ГБ ОЗУ, то лучше установить большие. А вот, если для него нужно поставить исходную десятикратную репликацию, рисковать и устанавливать большие Kubernetes узлы не стоит. Для такого кластера оптимальный вариант – 10 шт. по 1 ГБ. Каждая ситуация имеет свои нюансы, поэтому учитывайте все плюсы и минусы при выборе или проконсультируйтесь со специалистами.