Открыть сервис

Amazon EKS

Amazon Elastic Kubernetes Service (Amazon EKS) — это управляемый сервис оркестрации контейнеров, предоставляемый Amazon Web Services (AWS). Он позволяет запускать, масштабировать и управлять приложениями в контейнерах с использованием Kubernetes — системы с открытым исходным кодом для автоматизации развертывания, масштабирования и управления контейнеризированными приложениями. EKS избавляет пользователей от необходимости устанавливать, настраивать и обслуживать собственную плоскость управления Kubernetes (control plane), беря на себя задачи по обеспечению высокой доступности, безопасности и обновлений.

История и развитие

Amazon EKS был анонсирован на конференции AWS re:Invent в ноябре 2017 года и стал общедоступным (GA) в июне 2018 года. Появление сервиса было ответом на растущую популярность Kubernetes как стандарта для оркестрации контейнеров, а также на конкуренцию со стороны других облачных провайдеров, таких как Google Kubernetes Engine (GKE) и Azure Kubernetes Service (AKS). До запуска EKS пользователям AWS приходилось самостоятельно разворачивать и администрировать кластеры Kubernetes на виртуальных машинах EC2, что было сложно и требовало значительных ресурсов.

С момента запуска сервис активно развивался. В 2019 году была представлена поддержка managed node groups (управляемых групп узлов), упрощающая управление вычислительными ресурсами. В 2020 году появилась поддержка AWS Fargate — бессерверной вычислительной платформы, позволяющей запускать поды без управления серверами. В последующие годы были добавлены такие функции, как поддержка Amazon EBS CSI driver, масштабирование на основе кластерного автоскалера (Cluster Autoscaler), интеграция с AWS App Mesh и AWS Cloud Map, а также поддержка узлов на базе ARM-процессоров (Graviton). В 2023 году была представлена поддержка Kubernetes версии 1.28, а также улучшена интеграция с сервисами безопасности, такими как AWS PrivateLink и AWS WAF.

Архитектура и компоненты

Amazon EKS состоит из двух основных компонентов: плоскости управления (control plane) и рабочих узлов (worker nodes).

Плоскость управления (Control Plane)

Плоскость управления — это управляемый AWS компонент, который отвечает за управление кластером: планирование подов, обслуживание состояния кластера, обработку API-запросов и выполнение операций масштабирования. AWS автоматически разворачивает плоскость управления в нескольких зонах доступности (Availability Zones) для обеспечения высокой отказоустойчивости. Плоскость управления включает в себя такие компоненты Kubernetes, как:

AWS полностью управляет плоскостью управления: автоматически обновляет ее, применяет патчи безопасности и обеспечивает ее масштабирование под нагрузку. Пользователь не имеет доступа к плоскости управления напрямую, но может взаимодействовать с ней через API Kubernetes (например, с помощью kubectl).

Рабочие узлы (Worker Nodes)

Рабочие узлы — это вычислительные ресурсы, на которых выполняются контейнеризированные приложения. Пользователь может выбирать способ развертывания узлов:

Сеть

Amazon EKS использует виртуальную частную облачную сеть (VPC) AWS для сетевого взаимодействия. Каждый под получает IP-адрес из подсети VPC, что обеспечивает интеграцию с другими сервисами AWS (например, с базами данных RDS или с балансировщиками нагрузки). Для маршрутизации трафика между подами используется плагин Amazon VPC CNI (Container Network Interface), который напрямую назначает IP-адреса из VPC. Это упрощает сетевую политику и интеграцию с AWS-сервисами, но требует достаточного количества свободных IP-адресов в VPC.

Ключевые возможности и характеристики

Интеграция с сервисами AWS

Amazon EKS тесно интегрирован с экосистемой AWS, что позволяет использовать сервисы для хранения данных, мониторинга, безопасности и управления:

Безопасность

Безопасность в EKS обеспечивается на нескольких уровнях:

Масштабирование и обновления

EKS поддерживает несколько механизмов масштабирования:

Обновления версии Kubernetes выполняются через AWS Management Console, CLI или API. AWS автоматически обновляет плоскость управления, а пользователь может обновлять узлы с помощью managed node groups или вручную.

Применение

Amazon EKS используется в различных сценариях:

Сравнение с аналогами

Amazon EKS конкурирует с управляемыми сервисами Kubernetes от других облачных провайдеров:

Ключевым преимуществом EKS является глубокая интеграция с сервисами AWS, что делает его естественным выбором для организаций, уже использующих AWS. Недостатками могут быть более высокая стоимость (плоскость управления оплачивается почасово) и сложность настройки сетевой конфигурации.

Критика и ограничения

Несмотря на популярность, Amazon EKS имеет ряд недостатков:

Источники

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →