Amazon Elastic Kubernetes Service (EKS) – это управляемый сервис Kubernetes, который позволяет легко запускать Kubernetes на AWS без необходимости устанавливать и обслуживать собственную плоскость управления Kubernetes. Amazon EKS имеет сертификат совместимости с Kubernetes, поэтому существующие приложения, работающие на открытой версии Kubernetes, совместимы с Amazon EKS.

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

Amazon EKS позволяет использовать преимущества платформы AWS: производительность, масштабируемость, надежность и доступность, а также интеграцию с сервисами сетевой конфигурации и безопасности AWS. В число таких сервисов входят балансировщики Application Load Balancer для распределения нагрузки, IAM для контроля доступа на основе ролей и VPC для подключения подов к сети.

Управляемая панель управления Kubernetes

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

Запуск с помощью eksctl

eksctl – это инструмент командной строки с открытым кодом, благодаря которому вы можете приступить к работе с Amazon EKS за считанные минуты. При выполнении команды eksctl create cluster создается кластер Amazon EKS, который будет готов к запуску приложений уже спустя несколько минут.

Сетевая конфигурация и безопасность

Amazon EKS упрощает обеспечение безопасности кластеров Kubernetes за счет использования расширенных возможностей сервисов AWS, интегрированных с ними инструментов и решений партнеров-технологов. Например, сервис IAM обеспечивает точную настройку доступа, а Amazon VPC изолирует кластеры Kubernetes от других клиентов.

Обнаружение сервиса

AWS Cloud Map – это облачный сервис определения состояния ресурсов. Cloud Map обеспечивает определение пользовательских имен для ресурсов приложения и сохранение сведений об обновленных расположениях этих динамически меняющихся ресурсов. Это повышает доступность приложения, так как веб-сервис всегда обнаруживает последние расположения его ресурсов. Мы предоставляем связующую библиотеку Kubernetes с открытым исходным кодом, которая автоматически передает информацию о внутреннем расположении сервисов в реестр сервисов Cloud Map, когда сервисы Kubernetes запускаются, и удаляет их по завершении. Сервисы на основе Kubernetes обнаруживаются через Cloud Map, обеспечивающую объединенный реестр сервиса для всех контейнерных рабочих нагрузок.

Сетка сервиса

Сетка сервиса позволяет легко создавать и выполнять сложные микросервисные приложения, стандартизируя обмен данными всех микросервисов в приложении. AWS App Mesh – это сервис, упрощающий настройку части приложения для полной видимости и высокой доступности. Для использования App Mesh добавьте образ прокси Envoy к Kubernetes PodSpec. App Mesh экспортирует метрики, журналы и маршруты к адресам, указанным в предоставленной конфигурации загрузочного сценария Envoy. App Mesh предоставляет API для настройки маршрутов трафика, разрыва канала связи, повторных попыток и других элементов управления между микросервисами, которые включаются с помощью сетки.

Поддержка VPC

Кластеры EKS работают в Amazon VPC, что позволяет использовать собственные группы безопасности VPC и списки контроля доступа к сети. Ваши вычислительные ресурсы не предоставляются для совместного использования другим пользователям. Это обеспечивает высокий уровень изоляции и позволяет создавать с помощью сервиса Amazon EKS безопасные и надежные приложения. EKS использует интерфейс CNI Amazon VPC, что позволяет подам Kubernetes получать IP-адреса этого VPC.

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

AWS IAM Authenticator

Amazon EKS интегрирует Kubernetes RBAC (встроенную в Kubernetes систему контроля доступа на основе ролей) с AWS IAM Authenticator. Роли RBAC можно связать непосредственно с сущностями IAM, что предоставляет точный контроль прав доступа к ведущим узлам Kubernetes.

IAM для сервисных аккаунтов

С помощью Amazon EKS можно назначать разрешения IAM для сервисных учетных записей Kubernetes. Используя роль IAM, вы можете управлять доступом к другим сервисам на основе контейнеров, внешним ресурсам кластера AWS, таким как базы данных и конфиденциальной информации, или сторонним сервисам и приложениям, работающим вне AWS. Также вы получаете возможность точного управления доступом на уровне пода при работе кластеров с несколькими совместно расположенными сервисами, что оптимизирует затраты и упрощает доступность для кластера. 

Балансировка нагрузки

Amazon EKS поддерживает использование Elastic Load Balancing, включая Application Load Balancer (ALB), Network Load Balancer (NLB) и Classic Load Balancer.

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

Ведение журналов

Amazon EKS интегрирован с AWS CloudTrail, что обеспечивает наглядное представление и отслеживание истории аудита кластера и активности пользователей. Для просмотра вызовов API Amazon EKS можно использовать CloudTrail. Amazon EKS также отправляет журналы плоскости управления Kubernetes в Amazon CloudWatch.

Сертификат совместимости

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

Управляемые обновления

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

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

Поддержка расширенных рабочих нагрузок

Amazon EKS предоставляет оптимизированный образ Amazon Machine Image (AMI), включающий настроенные драйверы NVIDIA для инстансов EC2 P2 и P3 с поддержкой GPU. Это упрощает использование Amazon EKS для выполнения расширенных вычислительных рабочих нагрузок, включая машинное обучение (ML), Kubeflow, контейнеры глубокого обучения (DL), высокопроизводительные вычисления (HPC), финансовую аналитику и перекодирование видео.

Совместимость с инструментами с открытым кодом

Сервис Amazon EKS полностью совместим с инструментами, разработанными сообществом Kubernetes, и поддерживает популярные надстройки Kubernetes. В число поддерживаемых надстроек входит средство CoreDNS, позволяющее создать службу DNS для кластера, а также веб-интерфейс пользователя Kubernetes Dashboard и инструмент командной строки kubectl, предоставляющие доступ к кластеру в Amazon EKS и возможность управления им.

Дополнительные сведения см. на странице инструментов от сообщества Kubernetes на сайте GitHub.

Готовы приступить к разработке?
Начать работу с Amazon EKS
Есть вопросы?
Свяжитесь с нами