#docker #kubernetes #microservices
#docker #kubernetes #микросервисы
Вопрос:
В макете Kubernetes сначала я создал кластер узлов (рассматриваемый как физический КОМПЬЮТЕР). Теперь внутри каждого ПК может быть несколько модулей. Внутри каждого модуля снова есть несколько контейнеров. Каждый контейнер может содержать несколько приложений (но в идеале должен ограничиваться одним).
Теперь, если приведенное выше утверждение верно:
- У нас есть кластер вокруг узла, но внутри узлов у нас другое приложение?
- Для увеличения / уменьшения масштаба или самовосстановления мы увеличиваем только узел или также модуль?
Ответ №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 узла, потому что приложению не нужно знать о том, где он запускается.
Что касается вопросов масштабирования, вы можете масштабировать кластер или приложение.
При масштабировании приложения вы добавляете больше его реплик (копий) в кластер, чтобы обрабатывать больше обработки.
Когда вы масштабируете кластер, вы добавляете больше ресурсов (память / процессор / диск), чтобы освободить место для размещения большего количества приложений, добавление узлов — это всего лишь один из способов сделать это.
Если вашему приложению требуется больше ресурсов, а кластер может их предоставить, вы можете масштабировать только модули развертывания, чтобы обеспечить приложение достаточным количеством ресурсов.
Службы управления выполняют самовосстановление, оно отслеживает ресурсы, и в случае, если что-то пойдет не так, т. Е. узел в кластере потерян, службы управления компенсируют это, распределяя приложения на других доступных узлах, или перезапускают приложение в случае, если это просто сбой модуля.
В этом документе архитектура объясняется немного подробнее.