Несколько приложений, запущенных в одном кластере kubernetes или кластерах для каждого приложения - PullRequest
0 голосов
/ 12 сентября 2018

У меня есть несколько приложений, работающих в Azure. Все эти приложения принадлежат одной компании и общаются друг с другом. Я хочу перенести их в Кубернетес.

Мой вопрос: Каковы лучшие практики в этом случае и почему?

Некоторые люди рекомендуют один кластер и используют несколько пространств имен, и я не знаю почему.

Например: https://www.youtube.com/watch?v=xygE8DbwJ7c рекомендует приложения в кластере, выполняющие мультитенантность внутри кластера, но аргументов этого выбора мне недостаточно.

1 Ответ

0 голосов
/ 12 сентября 2018

Мой вопрос: Каковы лучшие практики в этом случае? а почему?

Ответ: это зависит ...

Чтобы попытаться обобщить это из нашего опыта:

  • Кластер для каждого приложения, как правило, представляет собой довольно незначительную трату ресурсов, особенно учитывая требования к кластерам высокой доступности, и это может быть в основном оправдано в случае, когда одно приложение состоит из большего числа микросервисов, которые естественным образом объединяются в кластеры, или когда некоторые особые соображения безопасности должны быть приняты во внимание. Это, однако, по нашему опыту, редкий случай (но это зависит) ...

  • Пространства имен для приложений в кластере в большей степени соответствуют нашему опыту и потребностям, но, опять же, это также не должно быть преувеличено (поэтому, опять же, это зависит), поскольку, например, ваш CNI может быть узким местом, приводящим к одному мошенническое приложение (или настройка), снижающее производительность других приложений в, казалось бы, несвязанном случае. Простое блокирование загрузки и развертывания, конфликты ресурсов и другие вещи могут произойти, если все будет собрано в один кластер любой ценой. Так что это тоже имеет свои пределы.

  • Лучшее из обоих миров - мы начали с одного кластера, и когда мы достигли естественно отдельных (и отдельно исполняемых) сценариев использования (скажем, qa, dev, рабочей среды, другого клиента с особыми соображениями безопасности и т. Д.), Мы перенесли к большему количеству кластеров, сохраняя в каждом кластере приложения с разумным пространством имен.

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

...