Какова связь между узлами, модулями, контейнерами?Как приложение реплицируется в кластере? - PullRequest
0 голосов
/ 20 сентября 2019

Я новичок в kubernetes, и я просмотрел много статей, но не нашел основного ответа на свои сомнения.

Предположим, у меня есть 2 узла кластера kubernete, и я развернул на нем 2 приложения.

  1. Мои оба приложения будут размещены на обоих узлах?Как app1 на обоих узлах и так же app2?это означает, что у нас есть коэффициент репликации 2 по умолчанию.Правильно?

  2. У него будет 1 стручок на узел?Какая будет структура?

Node 1, Pod1 - > App1
Node 1, Pod1 - > App2
Node 2, Pod1 - > App1
Node 2, Pod1 - > App2
Если я установил коэффициент репликации = 2, то как это повлияет на структуру?Будет ли это создать
Node 1- Pod1 - > App1
Node 1- Pod2 - > App2
Node 2- Pod1 - > App1
Node 2- Pod2 - > App2
Что такое развертывание с точки зрения вышеуказанных физических / логических структур?Чем он отличается от сервиса?Развертывание характерно для каждого узла?

Ответы [ 3 ]

2 голосов
/ 20 сентября 2019

Нет предопределенной привязки стручков к узлам.Планировщик Kubernetes динамически решает, какому узлу назначать модуль при создании модуля.

В общем случае приложение Kubernetes состоит из набора реплицированных модулей (в большинстве случаев управляемых с помощью Deployment * 1004)* ресурс).На каких узлах эти модули работают, зависит от планировщика.Нет встроенной политики, согласно которой модули реплики одного и того же приложения должны выполняться на разных узлах.

Однако вы можете влиять на решение планировщика с помощью различных механизмов:

0 голосов
/ 20 сентября 2019

Модуль состоит из контейнера приложения или группы контейнеров приложения.Когда в модуле содержится более 1 контейнера, планировщик kubernetes гарантирует, что все контейнеры, определенные в спецификации модуля, создаются на одном и том же узле.

Планировщик Kubernetes всегда пытается распределить модули между узлами в зависимости от различныхФакторы, включая доступность ресурсов.

По вашим вопросам:

  1. Мои оба приложения будут размещаться на обоих узлах?Как app1 на обоих узлах и так же app2?это означает, что у нас есть коэффициент репликации 2 по умолчанию.Правильно?

Если счетчик репликации равен 1 для обоих модулей, то для каждого приложения будет создан только один экземпляр модуля, независимо от количества узлов.В противном случае планировщик Kubernetes динамически решает, куда поместить дополнительные реплики в зависимости от ресурса (ЦП, памяти), доступного на каждом узле.Счетчик репликации по умолчанию (он же реплики) равен 1.

У него будет 1 стручок на узел?Какой будет структура?

Если оба узла имеют достаточную доступность ресурсов, структура может выглядеть следующим образом:

Node 1 - Pod 1 -> App1
Node 2 - Pod 2 -> App2
Если я установил коэффициент репликации = 2, то как это повлияет на структуру?Будет ли он создавать

В зависимости от доступности ресурса, планировщик kubernetes может создавать дополнительные реплики, такие как:

Node 1 - Pod 1 -> App1
         Pod 2 -> App2
Node 2 - Pod 1 -> App1
         Pod 2 -> App2
0 голосов
/ 20 сентября 2019

Это зависит от того, сколько реплик вы установили в своем развертывании?Если у вас есть 2 узла и вы установили 1 реплику в развертывании A, то у вас будет 1 модуль в первом узле ИЛИ во втором узле.Если вы установите 3 реплики в развертывании A, то у вас будет 3 модуля в первом узле или втором узле или 2 модуля в первом узле и 1 модуль во втором узле или также иным образом.

...