Понимание макета Kubernetes

#docker #kubernetes #microservices

#docker #kubernetes #микросервисы

Вопрос:

В макете Kubernetes сначала я создал кластер узлов (рассматриваемый как физический КОМПЬЮТЕР). Теперь внутри каждого ПК может быть несколько модулей. Внутри каждого модуля снова есть несколько контейнеров. Каждый контейнер может содержать несколько приложений (но в идеале должен ограничиваться одним).

Теперь, если приведенное выше утверждение верно:

  1. У нас есть кластер вокруг узла, но внутри узлов у нас другое приложение?
  2. Для увеличения / уменьшения масштаба или самовосстановления мы увеличиваем только узел или также модуль?

Ответ №1:

Ваше вышеупомянутое понимание верно

1) тогда у нас есть кластер вокруг узла, но внутри узлов у нас другое приложение?

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

2) Для увеличения / уменьшения масштаба или самовосстановления мы увеличиваем только узел или модуль

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

Kubernetes использует HPA (автоматический вызов горизонтального модуля) для масштабирования приложения, оно будет увеличивать / уменьшать модуль в соответствии с определенными показателями, такими как процессор, память или пользовательские показатели.

Комментарии:

1. Спасибо @KirtiAzad за ваш ответ, я просматривал сообщение jee-appy.blogspot.com/2017/10/… Где Kubernetes размещается в кластеризованных инстансах AWS EC2. Где экземпляры увеличиваются / уменьшаются как часть масштабирования. Я сомневаюсь, что масштабирование этого экземпляра является частью свойств автоматического масштабирования Kubernetes или aws.

2. Кроме того, поскольку контейнер находится внутри модуля, поэтому в основном докер находится внутри модуля, но согласно диаграмме в ( d33wubrfki0l68.cloudfront.net / … ) это показывает, что докер находится на уровне узла. Может кто-нибудь, пожалуйста, уточнить.

Ответ №2:

Кластер — это концепция взаимосвязанности нескольких узлов, у вас нет кластера вокруг узлов, узлы и есть кластер. В Kubernetes в кластере также есть некоторые службы управления, позволяющие отслеживать участников и контролировать распределение ресурсов, используемых приложениями, узлы, на которых размещены эти службы, называются master.

Вы не должны пытаться найти связь между узлами и приложениями, приложения — это просто двоичные файлы (в виде контейнеров), запущенные в кластере, узел можно рассматривать как местоположение, в котором они были размещены, Kubernetes отлично справляется с абстрагированием его от вашего приложения, вот почему каждый модуль получает свой собственный IP вместо использования IP узла, потому что приложению не нужно знать о том, где он запускается.

Что касается вопросов масштабирования, вы можете масштабировать кластер или приложение.

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

Когда вы масштабируете кластер, вы добавляете больше ресурсов (память / процессор / диск), чтобы освободить место для размещения большего количества приложений, добавление узлов — это всего лишь один из способов сделать это.

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

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

В этом документе архитектура объясняется немного подробнее.