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

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

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

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

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

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

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

Контроллеры AWS для Kubernetes (ACK) предоставляют вам прямой контроль над сервисами AWS из среды Kubernetes. Благодаря ACK упрощается создание масштабируемых и высокодоступных приложений Kubernetes, использующих сервисы AWS.

Размещенная консоль Kubernetes

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

Дополнения EKS

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

Управляемые группы узлов

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

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

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

Вы можете присоединить к EKS узлы, запущенные в AWS Local Zones или AWS Wavelength, что даст вам дополнительные варианты для управляемой AWS инфраструктуры на периферийных устройствах.

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

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

Используйте eksctl для запуска узлов и централизованного управления

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

Поддержка Windows

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

Поддержка ARM

В инстансах EC2 на базе ARM используются процессоры AWS Graviton2, что обеспечивает серьезное повышение производительности и возможностей с одновременным снижением расходов. Повышение рентабельности приложений – основная цель работы с контейнерами. Комбинация этих факторов дает великолепное соотношение цены и производительности. Например, тестирование рабочих нагрузок демонстрирует, что типы инстансов на базе процессоров Graviton2 до 40 % более эффективны в отношении цены и производительности, чем эквивалентные им семейства M5, C5 и R5 на базе x86. Amazon EKS на AWS Graviton2 общедоступен в тех регионах, где доступны оба сервиса.

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

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

Поддержка IPv6

Сервис Amazon Elastic Kubernetes Service (EKS) поддерживает IPv6, что позволяет клиентам масштабировать контейнерные приложения на Kubernetes далеко за пределы частного адресного пространства IPv4. Благодаря поддержке IPv6 в EKS подам назначается только глобально маршрутизируемый IPv6-адрес, что позволяет масштабировать приложения в кластере, не задействуя ограниченное частное адресное пространство IPv4. Этот глобально маршрутизируемый IPv6-адрес можно использовать для непосредственной коммуникации с любым адресом IPv6 в Amazon VPC, локальной сети или публичном Интернете. Кроме того, EKS настраивает сеть таким образом, чтобы поды по-прежнему могли взаимодействовать с адресами на основе IPv4 за пределами кластера, позволяя использовать преимущества IPv6 с Kubernetes и не перемещая все зависимые сервисы организации в IPv6.

Идентификация подов EKS

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

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

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

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

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

Встроенное сетевое взаимодействие VPC

Кластеры EKS работают в сервисе Amazon VPC, благодаря чему вы можете использовать собственные группы безопасности VPC и списки контроля доступа к сети. Вычислительные ресурсы не используются совместно с другими клиентами, что обеспечивает высокий уровень изоляции для создания безопасных и надежных приложений. В сервисе EKS используется сетевой интерфейс контейнера Amazon VPC, благодаря чему поды Kubernetes могут получать IP-адреса этого VPC. Сервис Amazon EKS работает с механизмом сетевых политик Project Calico и предоставляет возможности точной настройки сетевых политик для рабочих нагрузок Kubernetes. Используйте API сетевой политики Kubernetes для управления доступом каждой службы.

AWS IAM Authenticator

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

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

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

Соответствие требованиям

Сервис Amazon EKS сертифицирован в рамках нескольких программ соответствия требованиям для регулируемых и конфиденциальных приложений. Сервис Amazon EKS отвечает стандартам SOC, PCI, ISO, FedRAMP-Moderate, IRAP, C5, K-ISMS, ENS High, OSPAR, HITRUST CSF и HIPAA.

Проверка подписи изображения контейнера

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

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

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 позволяет выбирать ресурсы и оплачивать их отдельно для каждого приложения, а встроенная изоляция приложений повышает уровень безопасности при работе.

Мониторинг цен

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

Метки распределения затрат

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

Kubecost

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

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

Amazon EKS интегрирован с AWS CloudTrail, что обеспечивает наглядное представление и отслеживание истории аудита для операций по управлению EKS. Для просмотра вызовов 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, интерфейса командной строки (CLI) или консоли AWS.

Поддержка рабочей нагрузки продвинутого уровня

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

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

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

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

EKS Connector

Amazon EKS позволяет подключать любой соответствующий кластер Kubernetes к AWS и визуализировать его в консоли Amazon EKS. Вы можете подключить любой соответствующий кластер Kubernetes, включая локальные кластеры Amazon EKS Anywhere, автономные кластеры на Amazon Elastic Compute Cloud (Amazon EC2) и другие кластеры Kubernetes, работающие за пределами AWS. Независимо от места работы кластеров можно использовать консоль Amazon EKS для просмотра всех подключенных кластеров и используемых ресурсов Kubernetes.

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