Вопросы и ответы по Amazon EKS

Общие вопросы

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

Kubernetes – это система оркестрации контейнеров с открытым исходным кодом, позволяющая развертывать контейнерные приложения и управлять ими в любом масштабе. Kubernetes объединяет контейнеры в логические группы для упрощения процессов обнаружения и управления, а затем запускает контейнеры на кластерах инстансов Amazon Elastic Compute Cloud (Amazon EC2). С помощью Kubernetes можно запускать в контейнерах различные приложения (в том числе микросервисы, рабочие процессы пакетной обработки и решения по модели «платформа как услуга» (PaaS)), используя один и тот же инструментарий локально и в облаке.

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

Amazon EKS интегрирован со множеством сервисов AWS, что обеспечивает масштабируемость и безопасность приложений. В число таких сервисов входят Elastic Load Balancing для распределения нагрузки, AWS Identity and Access Management (IAM) для аутентификации, Amazon Virtual Private Cloud (VPC) для изоляции и AWS CloudTrail для ведения журналов.

Amazon EKS выделяет (запускает) ресурсы плоскости управления Kubernetes и рабочие узлы и управляет ими. Если не вдаваться в подробности, Kubernetes состоит из двух основных компонентов: кластера рабочих узлов, на которых запускаются контейнеры, и плоскости управления, которая определяет время и место запуска контейнеров в кластере, а также отслеживает их состояние.

Без Amazon EKS запускать и обслуживать плоскость управления Kubernetes и рабочие узлы приходится самостоятельно. С Amazon EKS вы подготавливаете рабочие узлы с помощью одной команды в консоли EKS, интерфейсе командной строки (CLI) или API. AWS обеспечивает выделение ресурсов, масштабирование и управление плоскостью управления Kubernetes в высокодоступной и безопасной конфигурации. Это значительно упрощает эксплуатацию, поскольку нет необходимости управлять базовой инфраструктурой на AWS, и позволяет сосредоточиться на разработке приложений.

Amazon EKS поддерживает базы раздачи операционной системы Linux x86, ARM и Windows Server, совместимые с Kubernetes. Amazon EKS предоставляет оптимизированные AMI для Amazon Linux 2, Bottlerocket и Windows Server 2019. В настоящее время не существует оптимизированного AMI Amazon EKS для AL2023. Оптимизированные для EKS AMI для других баз раздачи Linux, таких как Ubuntu, доступны у соответствующих поставщиков.

Сообщите нам о том, что мы можем добавить или улучшить, отправив запрос о новых возможностях с помощью Общественного плана развития контейнерных сервисов AWS.

Возможности интеграции

В работе Amazon EKS используется программное обеспечение Kubernetes с открытым исходным кодом, что позволяет применять все существующие подключаемые модули и инструменты, разработанные сообществом Kubernetes. Приложения, работающие на Amazon EKS, полностью совместимы с приложениями, работающими в любой стандартной среде Kubernetes: как в локальном центре обработки данных, так и в публичном облаке. Это означает, что любое стандартное приложение Kubernetes можно просто перенести на Amazon EKS без изменения кода.

Дополнения Amazon EKS обеспечивают установку в один клик и управление операционным программным обеспечением Kubernetes. Это позволяет создать кластер и запустить приложения всего одной командой, а также упрощает поддержание актуальности операционного программного обеспечения, необходимого для вашего кластера. Вы сможете гарантировать постоянную стабильность и безопасность кластеров Kubernetes, а также снизить объем необходимой работы для запуска готовых к производственной среде кластеров Kubernetes в AWS и управления ими.

Версии и обновления

Версии Kubernetes, которые поддерживаются на данный момент, указаны в документации Amazon EKS. В дальнейшем в Amazon EKS будет добавлена поддержка других версий Kubernetes.

Версии платформы Amazon EKS представляют возможности плоскости управления кластером, такие как включенные метки сервера API Kubernetes, а также текущую исправленную версию Kubernetes. Каждая второстепенная версия Kubernetes имеет одну или несколько связанных версий платформы Amazon EKS. Версии платформы для разных второстепенных версий Kubernetes независимы.

Когда для Amazon EKS выходит новая второстепенная версия Kubernetes (например, 1.13), код первоначальной версии платформы Amazon EKS для этой второстепенной версии Kubernetes начинается с eks.1. Однако Amazon EKS периодически выпускает новые версии платформ, чтобы включить новые настройки плоскости управления Kubernetes и предоставить исправления безопасности.

Новые версии Kubernetes содержат значительные изменения Kubernetes API, которые могут отразиться на функционировании приложения. Ручное управление версией Kubernetes в вашем кластере позволяет тестировать совместимость приложений с новыми версиями Kubernetes перед обновлением производственных кластеров. Amazon EKS предоставляет вам возможность самостоятельно решать, когда внедрять изменения в кластер EKS.

AWS публикует Образ машины Amazon (AMI) с оптимизацией для EKS, включающий все необходимые двоичные файлы рабочих узлов (Docker и Kubelet). Этот образ AMI регулярно обновляется и содержит самые последние версии данных компонентов. Вы можете обновить управляемые узлы EKS до последних версий оптимизированных для EKS AMI с использованием одной команды в консоли EKS, с помощью API или интерфейса командной строки.

Если вы создаете свои собственные пользовательские AMI для применения в рабочих узлах EKS, AWS также публикует скрипты Packer, которые документируют наши этапы сборки, позволяя идентифицировать двоичные файлы, включенные в каждую версию AMI.

Расширенная поддержка версий Kubernetes в Amazon EKS позволяет использовать минорную версию Kubernetes на срок до 26 месяцев с момента ее публикации в Amazon EKS. Версии Amazon EKS с расширенной поддержкой постоянно получают исправления безопасности для плоскости управления Kubernetes, находящейся под контролем Amazon EKS. Кроме того, Amazon EKS выпустит критические исправления для дополнений Amazon VPC CNI, kube-proxy и CoreDNS, а также опубликованных AWS оптимизированных образов машин Amazon (AMI) для узлов Amazon Linux, Bottlerocket, Windows и EKS Fargate. AWS обеспечивает стандартную и расширенную поддержку всех версий Amazon EKS, включая полную техническую поддержку. Расширенная поддержка версий Kubernetes есть во всех регионах AWS, где доступен Amazon EKS, включая регионы AWS GovCloud (США). Подробнее о политике поддержки версий Amazon EKS см. в документации Amazon EKS.

Цены и доступность

Актуальную информацию о доступности Amazon EKS по Регионам AWS см. в таблице Регионов глобальной инфраструктуры AWS.