инструмент для оркестрации контейнеризированных приложений, для увеличения их производительности, автоматизации развертывания и балансировки нагрузки в условиях кластера.
Узлы представляют собой вычислительные мощности (физические или виртуальные), на которых размещаются контейнеры. Каждым узлом управляет мастер-узел, координирующий его работу в рамках кластера. Узлы могут быть развернуты локально на серверах или в облачных средах, формируя базовую инфраструктуру для работы приложений.
Поды — это минимальные исполняемые единицы в Kubernetes, объединяющие один или несколько контейнеров. Контейнеры внутри пода разделяют сетевые настройки, IP-адрес и хранилище, что упрощает их взаимодействие. Такая организация позволяет эффективно управлять зависимыми компонентами приложения.
Кластер — это совокупность узлов, объединенных для выполнения задач под управлением мастер-узла. Мастер-узел координирует распределение нагрузки, отслеживает состояние кластера через компоненты вроде API-сервера и планировщика, а также обеспечивает отказоустойчивость. Кластеризация позволяет горизонтально масштабировать приложения и поддерживать их работоспособность даже при сбоях отдельных узлов.
Службы предоставляют стабильную точку доступа к группе подов, абстрагируясь от их динамических IP-адресов. Они автоматически перенаправляют запросы между подами, балансируя нагрузку. Например, если развернуто несколько копий микросервиса, служба будет равномерно распределять между ними трафик, обеспечивая стабильность работы приложения.
Контроллеры — это интеллектуальные компоненты, которые поддерживают заданное состояние кластера. Они автоматически создают, обновляют или удаляют поды в соответствии с декларированными настройками. Например, при падении пода контроллер развернет его новую копию, а при увеличении нагрузки — добавит дополнительные экземпляры для масштабирования.