Управляемые кластеры Kubernetes

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

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

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

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

Контролируемая плоскость управления

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

Управляемые рабочие узлы

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

Запуск с помощью 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. Вы также получаете возможность точного управления доступом на уровне пода при работе кластеров с несколькими совместно расположенными сервисами, что оптимизирует затраты и упрощает обеспечение доступности кластера. 

Поддержка Windows

В Amazon EKS поддерживается добавление узлов Windows в качестве рабочих узлов и планирование контейнеров Windows. Использовать рабочие узлы Windows в EKS можно параллельно с рабочими узлами Linux, что позволяет применять общий кластер для управления приложениями, работающими на базе любой из этих операционных систем.

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

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

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

Вычисления без использования серверов

Сервис EKS поддерживает запуск приложений Kubernetes в среде бессерверных вычислений AWS Fargate. При использовании сервиса Fargate не нужно выделять серверы и управлять ими. Кроме того, сервис Fargate позволяет указывать ресурсы и оплачивать их отдельно для каждого приложения, а встроенная возможность изоляции приложений повышает уровень безопасности при работе.

Гибридные развертывания

Вы можете использовать сервис EKS для AWS Outposts для выполнения контейнеризованных приложений, для которых требуется особо малые задержки, в локальных системах. AWS Outposts – это полностью управляемый сервис, предоставляющий возможность использовать инфраструктуру AWS, сервисы AWS, API и инструменты практически в любой системе, подключенной к этому сервису. Благодаря сервису EKS для Outposts локальное управление контейнерами становится таким же простым, как и управление ими в облаке.

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

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
Есть вопросы?
Свяжитесь с нами