- Контейнеры›
- Amazon EKS›
- Функции
Возможности Amazon EKS
Обзор
Эластичный сервис 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) для подключения подов к сети.
Полностью управляемые кластеры
Управляемая плоскость управления
Amazon EKS предоставляет масштабируемую и высокодоступную плоскость управления Kubernetes, работающую в нескольких зонах доступности AWS. Amazon EKS автоматически управляет доступностью и масштабируемостью серверов API Kubernetes, а также уровнем постоянного хранения данных etcd. Amazon EKS выполняет плоскость управления Kubernetes в трех зонах доступности для обеспечения высокой доступности, а также автоматически выявляет и заменяет неработоспособные узлы плоскости управления.
Автоматический режим Amazon EKS
Автоматический режим Amazon EKS полностью автоматизирует управление инфраструктурой кластера Kubernetes для вычислений, хранения и подключения к сети на AWS одним щелчком мыши. Он упрощает управление Kubernetes благодаря автоматическому выделению инфраструктуры, выбору оптимальных вычислительных инстансов, динамическому масштабированию ресурсов, непрерывной оптимизации затрат, внесению исправлений в операционные системы, управлению дополнениями и интеграции с сервисами безопасности AWS.
Возможности интеграции
Контроллеры AWS для Kubernetes (ACK) предоставляют вам прямой контроль над сервисами AWS из среды Kubernetes. Благодаря ACK упрощается создание масштабируемых и высокодоступных приложений Kubernetes, использующих сервисы AWS.
Размещенная консоль Kubernetes
EKS предоставляет интегрированную консоль для визуализации всего кластера. Операторы кластеров и разработчики приложений могут использовать EKS в качестве центра организации, визуализации и устранения неполадок для своих приложений Kubernetes, выполняемых на Amazon EKS. Консоль EKS размещается на AWS, и доступ к ней предоставляется автоматически для всех кластеров EKS.
Управляемые группы узлов
С помощью сервиса Amazon EKS можно одной командой создавать, обновлять, масштабировать или уничтожать узлы для вашего кластера. Для снижения расходов эти узлы также могут использовать спотовые инстансы Amazon EC2. Управляемые группы узлов выполняют инстансы Amazon EC2 на основе новейших образов машин Amazon (AMI), пользовательских или оптимизированных для EKS, в вашем аккаунте AWS и сохраняют доступность приложения, корректно освобождая узлы для обновления и в случае сбоев.
Сертификат совместимости
Amazon EKS использует открытую версию Kubernetes и имеет сертификат совместимости с Kubernetes, что позволяет применять все существующие подключаемые модули и инструменты, разработанные сообществом Kubernetes. Приложения, работающие на Amazon EKS, полностью совместимы с приложениями, работающими в любой стандартной среде Kubernetes: как в локальном центре обработки данных, так и в публичном облаке. Это означает, что любое стандартное приложение Kubernetes можно просто перенести на Amazon EKS без изменения программного кода.
EKS Connector
Подключайте любой совместимый кластер Kubernetes к AWS и визуализируйте его в консоли Amazon EKS. Вы можете подключить любой совместимый кластер Kubernetes, включая локальные кластеры Amazon EKS Anywhere, автономные кластеры на Amazon Elastic Compute Cloud (Amazon EC2) и другие кластеры Kubernetes, работающие за пределами AWS. Независимо от места работы кластеров можно использовать консоль Amazon EKS для просмотра всех подключенных кластеров и используемых ресурсов Kubernetes.
Вычисления
Вычислительные среды
Amazon EKS предоставляет полный доступ к типам инстансов EC2, обеспечивая гибкость и позволяя автоматически выделять оптимальные вычислительные ресурсы для рабочей нагрузки. Вычислительные ресурсы можно приобрести по запросу, через план экономии или Spot.
Nitro
AWS Nitro System — это сочетание специализированного оборудования и легкого гипервизора, которое позволяет ускорить внедрение инноваций и повысить безопасность.
Graviton
AWS Graviton — это семейство процессоров, которые предлагают лучшее соотношение цены и производительности для облачных рабочих нагрузок, выполняющихся в Amazon EC2.
Спотовые инстансы EC2
Воспользуйтесь свободными ресурсами EC2 в облаке AWS, которые доступны со скидкой до 90% по сравнению с ценами по запросу. Спотовые инстансы можно использовать для работы различных отказоустойчивых и гибких приложений либо приложений без сохранения состояния, предназначенных, к примеру, для обработки больших данных, запуска рабочих нагрузок на основе контейнеров, конвейеров непрерывной интеграции и непрерывной доставки (CI / CD), веб‑серверов, для высокопроизводительных вычислений (HPC) или для рабочих нагрузок, связанных с разработкой и тестированием.
EKS с Fargate
Сервис EKS поддерживает запуск приложений Kubernetes в среде бессерверных вычислений AWS Fargate. При использовании Fargate не приходится выделять серверы и управлять ими. Кроме того, Fargate позволяет выбирать ресурсы и оплачивать их отдельно для каждого приложения, а встроенная изоляция приложений повышает уровень безопасности при работе.
Сеть, безопасность и доступ
Встроенное сетевое взаимодействие VPC
Кластеры EKS работают в сервисе Amazon VPC, благодаря чему вы можете использовать собственные группы безопасности VPC и списки контроля доступа к сети (ACL). Вычислительные ресурсы не используются совместно с другими клиентами, что обеспечивает высокий уровень изоляции для создания безопасных и надежных приложений. В сервисе EKS используется сетевой интерфейс контейнера Amazon VPC (CNI), благодаря чему поды Kubernetes могут получать IP-адреса этого VPC. Сервис Amazon EKS работает с механизмом сетевых политик Project Calico и предоставляет возможности точной настройки сетевых политик для рабочих нагрузок Kubernetes. Используйте API сетевой политики Kubernetes для управления доступом каждой службы.
Поддержка IPv6
Сервис Amazon Elastic Kubernetes Service (EKS) поддерживает IPv6, что позволяет клиентам масштабировать Kubernetes далеко за пределы частного адресного пространства IPv4. Благодаря поддержке IPv6 в EKS подам назначается только глобально маршрутизируемый IPv6-адрес, что позволяет масштабировать приложения в кластере, не задействуя ограниченное частное адресное пространство IPv4. Этот глобально маршрутизируемый IPv6-адрес можно использовать для непосредственной коммуникации с любым адресом IPv6 в Amazon VPC, локальной сети или публичном Интернете. Кроме того, EKS настраивает сеть таким образом, чтобы поды по-прежнему могли взаимодействовать с адресами на основе IPv4 за пределами кластера, позволяя использовать преимущества IPv6 с Kubernetes и не перемещая все зависимые сервисы организации в IPv6.
Балансировка нагрузки
Amazon EKS поддерживает эластичную балансировку нагрузки, включая Балансировщик нагрузки приложений (ALB), Балансировщик сетевой нагрузки (NLB) и Классический балансировщик нагрузки. С кластером Amazon EKS можно выполнять стандартную балансировку нагрузки кластера Kubernetes или любой поддерживаемый контроллер приема данных Kubernetes.
Применение сетевых технологий
Amazon VPC Lattice — это полностью управляемый сетевой сервис приложений, встроенный непосредственно в сетевую инфраструктуру AWS, который можно использовать для подключения, защиты и мониторинга сервисов в нескольких аккаунтах и виртуальных частных облаках (VPC). Amazon EKS позволяет использовать Amazon VPC Lattice с помощью API контроллера шлюза AWS, являющегося реализацией API шлюза Kubernetes. С помощью Amazon VPC Lattice можно настроить межкластерное подключение со стандартной семантикой Kubernetes простым и последовательным способом.
Идентификация подов EKS
Идентификация подов EKS упрощает клиентам настройку приложений в кластерах EKS для доступа к сервисам AWS. Для администраторов кластера EKS обеспечен упрощенный рабочий процесс получения учетных данных IAM, необходимых для аутентификации приложений Kubernetes, чтобы иметь доступ к ресурсам AWS, таким как корзины S3, таблицы DynamoDB и т. д. Идентификация подов EKS упрощает использование ролей IAM в нескольких кластерах и делает легче управление политиками IAM, поддерживая повторное использование политик в разных ролях IAM.
Используйте IAM для RBAC
Amazon EKS интегрирует Kubernetes RBAC (встроенную в Kubernetes систему контроля доступа на основе ролей) с AWS IAM. Роли RBAC можно связать непосредственно с сущностями IAM, что предоставляет точный контроль прав доступа к узлам плоскости управления Kubernetes.
Соответствие требованиям
Проверка подписи изображения контейнера
Amazon EKS совместим с проверкой подписи образов контейнеров, что дает возможность развертывать рабочие нагрузки с утвержденными образами и артефактами. Перед развертыванием в кластерах Amazon EKS можно проверить образы (или любой другой артефакт OCI, например спецификацию программного обеспечения), подписанные с помощью AWS Signer, полностью управляемого решения для подписи. AWS поддерживает решения для подписи и проверки изображений с открытым исходным кодом, поэтому вы можете легко подписывать артефакты, хранящиеся в реестре, и проверять их с помощью политик с открытым исходным кодом в виде кода или контроллеров доступа.
Версии и обновления
Обновления управляемых кластеров
Сервис Amazon EKS упрощает обновление выполняющихся кластеров до новейшей версии Kubernetes без необходимости управлять процессом. Обновление версий Kubernetes выполняется на месте, благодаря чему устраняется необходимость в создании новых кластеров и переносе приложений в новый кластер. По мере выхода новых версий Kubernetes и подтверждения их совместимости с Amazon EKS мы в любой момент будем поддерживать три стабильные версии Kubernetes в рамках процесса обновления. Вы можете инициировать установку новой версии и просматривать статус обновления в процессе работы с помощью SDK, интерфейса командной строки (CLI) или консоли AWS.
Совместимость с открытым исходным кодом
Сервис Amazon EKS полностью совместим с инструментами, разрабатываемыми сообществом Kubernetes, и поддерживает популярные надстройки Kubernetes. В число поддерживаемых надстроек входит средство CoreDNS, позволяющее создать службу DNS для кластера, а также веб-интерфейс пользователя Kubernetes Dashboard и инструмент командной строки kubectl, предоставляющие доступ к кластеру в Amazon EKS и возможность управления им. Дополнительные сведения см. на странице инструментов от сообщества Kubernetes на сайте GitHub.
Дополнения
Дополнения Amazon EKS от AWS
Amazon EKS предлагает тщательно отобранное программное обеспечение Kubernetes, так называемые дополнения, которые обеспечивают ключевые операционные возможности кластеров Kubernetes и интеграцию с различными сервисами AWS. Эти дополнения включают операционное программное обеспечение, такое как CoreDNS, обеспечивающее возможности кластерного DNS, и kube-proxy, обеспечивающее возможности сервисной сети в кластере Kubernetes. Кроме того, дополнения включают такое операционное программное обеспечение, как Amazon VPC CNI, которое обеспечивает сетевые возможности подов за счет интеграции с Amazon VPC, а также драйверы CSI, обеспечивающие интеграцию с Amazon Elastic Block Storage (Amazon EBS), эластичной файловой системой Amazon (Amazon EFS) и Amazon Simple Storage Service (Amazon S3). Также, дополнения включают агенты наблюдаемости и безопасности, которые обеспечивают интеграцию с различными сервисами AWS.
Amazon EKS позволяет устанавливать, управлять и настраивать дополнения с помощью API EKS, Консоли управления AWS, интерфейса командной строки AWS (AWS CLI), eksctl, AWS CloudFormation и сторонних инструментов инфраструктуры как кода. Все дополнения Amazon EKS от AWS имеют последние исправления безопасности и ошибок, а также проверены AWS для работы с Amazon EKS. Это обеспечивает постоянную безопасность и стабильность кластеров Amazon EKS и сокращает объем работы, необходимой для установки, настройки и обновления дополнений. Подробнее о дополнениях AWS см. в руководстве пользователя EKS.
Дополнения Amazon EKS от независимых поставщиков программного обеспечения
Amazon EKS предоставляет унифицированный интерфейс управления для поиска, выбора, установки, управления и настройки стороннего операционного программного обеспечения Kubernetes (дополнений) от независимых поставщиков программного обеспечения в кластерах EKS. Это достигается за счет использования API EKS, Консоли управления AWS, интерфейса командной строки AWS, eksctl, AWS CloudFormation и сторонних инструментов инфраструктуры в качестве кода, которые также используются для управления дополнениями EKS от AWS. Это помогает упростить управление поиском, подпиской и развертыванием сторонних дополнений Kubernetes, обеспечивающих операционные возможности, включая наблюдаемость, сервисную сетку, GitOps и хранение в кластерах EKS. Сторонние дополнения поставляются с AWS Marketplace, где программное обеспечение постоянно сканируется на предмет распространенных уязвимостей и рисков (CVE). Представляются только версии дополнений, совместимые с различными версиями Kubernetes, что снижает расходы на проверку совместимости. Выбор дополнений через EKS дает те же преимущества, что и в случае любого другого продукта в AWS Marketplace, включая консолидированное выставление счетов, гибкие варианты оплаты и более низкие цены на долгосрочные контракты. Подробнее о дополнениях AWS см. в руководстве пользователя EKS.
Наблюдаемость
Amazon Managed Service for Prometheus
Управляемый сервис Amazon для Prometheus – это масштабируемый и безопасный сервис под управлением AWS для Prometheus с открытым исходным кодом. Язык запросов Prometheus (PromQL) можно использовать для мониторинга производительности контейнерных рабочих нагрузок без управления базовой инфраструктурой для приема, хранения и запроса операционных метрик. Метрики Prometheus можно собирать из Amazon EKS, используя AWS Distro для OpenTelemetry или серверы Prometheus в качестве агентов сбора данных. Управляемый сервис Amazon для Prometheus предоставляет полностью управляемый парсер без агентов для автоматической очистки метрик из кластеров Amazon EKS. При очистке метрики автоматически извлекаются с адресов, совместимых с Prometheus.
Аналитика контейнеров CloudWatch
Аналитика контейнеров Amazon CloudWatch — это полностью управляемый сервис мониторинга и наблюдения, который предоставляет инженерам DevOps, разработчикам, инженерам по надежности сайтов (SRE) и ИТ-менеджерам готовую визуализацию их контейнерных приложений и микросервисных сред. Аналитика контейнеров Amazon CloudWatch позволяет отслеживать, изолировать и диагностировать проблемы в кластерах EKS с минимальными усилиями. Она предоставляет инфраструктурную телеметрию, такую как использование процессора, памяти, сети и диска для кластеров, сервисов и модулей, в виде метрик и журналов, которые легко визуализируются в консоли CloudWatch.
Вы можете улучшить наблюдаемость своего кластера Amazon EKS с помощью дополнения Amazon CloudWatch Observability EKS. Дополнение Amazon EKS обеспечивает улучшенную наблюдаемость кластера Amazon EKS. Это дополнение устанавливает агенты CloudWatch и Fluent Bit, предоставляя вам информацию об инфраструктуре и журналах контейнеров. Агент CloudWatch отправляет ключевые инфраструктурные метрики с узлов кластера в CloudWatch. Это позволяет отслеживать показатели процессора, сети, диска и других низкоуровневых узлов. Fluent Bit отправляет журналы контейнеров из кластера в журналы CloudWatch. Это дает вам представление о журналах приложений и системы из ваших контейнеров.
Ведение журналов
Amazon EKS интегрирован с AWS CloudTrail, что обеспечивает наглядное представление и отслеживание истории аудита для операций управления EKS. Для просмотра вызовов API Amazon EKS можно использовать CloudTrail. Amazon EKS также отправляет журналы плоскости управления Kubernetes в Amazon CloudWatch для анализа, отладки и аудита.
Метки распределения затрат
Amazon EKS автоматически добавляет тег распределения затрат AWS к каждому инстансу EC2, присоединяемому к кластеру. Вам не нужно применять собственную политику тегов в организации, чтобы получать данные о затратах на уровне кластера. После того как вы активируете тег распределения стоимости имени кластера EKS в Консоли оплаты AWS, вы сможете использовать отчеты о затратах и использовании AWS, чтобы отслеживать затраты EC2, связанные с кластерами EKS.
Kubecost
Amazon EKS поддерживает Kubecost, что дает возможность отслеживать затраты с разбивкой по ресурсам Kubernetes, в том числе по подам, узлам, пространствам имен сервисов и меткам. Администраторы платформы Kubernetes и финансовые руководители могут использовать Kubecost, чтобы визуализировать разбивку своих расходов, связанных с Amazon EKS, распределять затраты и возмещать расходы организационным подразделениям, например подразделениям приложения. Вы можете предоставлять своим внутренним и бизнес-подразделениям прозрачные и точные данные о затратах на основе их фактического счета AWS и получать индивидуальные рекомендации касательно оптимизации затрат на основе их инфраструктурной среды и шаблонов использования в их кластерах.
Интеграция с AWS
Контроллеры AWS для Kubernetes (ACK)
Контроллеры AWS для Kubernetes (ACK) позволяют управлять сервисами AWS напрямую из Kubernetes. Благодаря ACK можно легко создавать масштабируемые и высокодоступные приложения Kubernetes, использующие сервисы AWS. ACK предоставляет согласованный интерфейс Kubernetes для AWS независимо от API сервиса AWS.
Amazon Elastic Container Registry (Amazon ECR)
Amazon ECR — это полностью управляемый реестр контейнеров, который предлагает высокопроизводительный хостинг для надежного развертывания образов и артефактов приложений в любом месте. Вы можете извлекать образы из Amazon ECR для запуска рабочих нагрузок Kubernetes в Amazon EKS.
Защита GuardDuty EKS
Защита GuardDuty EKS позволяет Amazon GuardDuty выявлять подозрительные действия и потенциальные угрозы для работы ваших кластеров EKS путем анализа журналов аудита Kubernetes. Amazon GuardDuty EKS Runtime Monitoring обнаруживает угрозы во время выполнения по более чем 30 результатам анализа безопасности для защиты кластеров EKS. Мониторинг во время выполнения для EKS использует полностью управляемое дополнение EKS, которое позволяет отслеживать отдельные действия контейнеров во время выполнения, например доступ к элементу, выполнение процесса или создание сетевого соединения. Это позволяет GuardDuty определять конкретные потенциально скомпрометированные контейнеры в кластерах EKS и обнаруживать попытки повышения привилегий от отдельного контейнера к базовому узлу Amazon EC2 и более широкой среде AWS. Полученные данные GuardDuty EKS Runtime Monitoring предоставляют контекст метаданных, позволяющий выявлять потенциальные угрозы и сдерживать их до их эскалации.
Гибридные развертывания
Обзор
Один и тот же Amazon EKS можно использовать для запуска узлов в инфраструктуре AWS в регионах AWS, локальных зонах AWS, зонах AWS Wavength или в собственных локальных средах с AWS Outposts и гибридных узлах Amazon EKS. AWS Outposts — это управляемая AWS инфраструктура, которую вы запускаете в своих центрах обработки данных или местах совместного размещения, тогда как гибридные узлы Amazon EKS работают на виртуальных машинах или аппаратной инфраструктуре, которой вы управляете в локальных или периферийных средах. Если вам нужно работать в изолированных или отключенных от сети средах, вы можете использовать Amazon EKS Anywhere — программное обеспечение для управления Kubernetes с поддержкой AWS, которое работает в управляемой вами инфраструктуре. Используя Amazon EKS Anywhere, вы отвечаете за управление жизненным циклом кластера и обслуживание кластеров Amazon EKS Anywhere. Коннектор Amazon EKS можно использовать для просмотра любого кластера Kubernetes и его ресурсов в консоли Amazon EKS. Amazon EKS Distro — это дистрибутив AWS, в котором представлены базовые компоненты Kubernetes, лежащие в основе всех предложений Amazon EKS.
Гибридные узлы Amazon EKS
Гибридные узлы Amazon EKS унифицируют управление Kubernetes в облачных, локальных и пограничных средах, обеспечивая гибкость при выполнении рабочих нагрузок в любом месте и одновременно повышая доступность, масштабируемость и эффективность. Они стандартизируют операции и инструменты Kubernetes в разных средах и изначально интегрируется с сервисами AWS для централизованного мониторинга, ведения журналов и управления идентификацией. Гибридные узлы EKS сокращают время и усилия, необходимые для управления Kubernetes локально и на периферии за счет передачи AWS функций доступности и масштабируемости плоскости управления Kubernetes. Гибридные узлы EKS способны работать в существующей инфраструктуре для ускорения модернизации без дополнительных инвестиций в оборудование.
AWS Outposts, локальные зоны AWS, зоны AWS Wavelength
AWS Outposts, локальные зоны AWS и зоны AWS Wavelength можно использовать для запуска приложений ближе к конечным пользователям в соответствии с требованиями к низким задержкам и локализации данных. Amazon EKS можно использовать для запуска узлов в инфраструктуре AWS с использованием тех же кластеров, функций и инструментов Amazon EKS, которые используются для запуска приложений в регионах AWS.
Amazon EKS Anywhere
Amazon EKS Anywhere упрощает управление кластером Kubernetes за счет автоматизации выполнения однотипных сложных задач, таких как настройка инфраструктуры или жизненный цикл кластера в локальных и периферийных средах. Amazon EKS Anywhere создан на основе подпроекта Cluster API (CAPI) Kubernetes и поддерживает целый ряд инфраструктур, включая VMware vSphere, инстансы без операционной системы, Nutanix, Apache CloudStack и семейство AWS Snow. Amazon EKS Anywhere может запускаться в отключенных от сети средах и предлагает опцию интеграции с региональными сервисами AWS для обеспечения наблюдаемости и управления идентификацией. Чтобы получить поддержку по Amazon EKS Anywhere и доступ к дополнениям Kubernetes от AWS, вы можете приобрести корпоративные подписки Amazon EKS Anywhere.
Коннектор Amazon EKS
С помощью коннектора Amazon EKS можно зарегистрировать и подключить любой совместимый кластер Kubernetes к AWS и визуализировать его в консоли Amazon EKS. После подключения кластера вы увидите его состояние, конфигурацию и рабочие нагрузки в консоли Amazon EKS. Эту функцию можно использовать для просмотра подключенных кластеров в консоли Amazon EKS, но коннектор Amazon EKS не позволяет управлять подключенными кластерами или изменять их через консоль Amazon EKS.
Amazon EKS Distro
Amazon EKS Distro — это дистрибутив AWS, в котором представлены базовые компоненты Kubernetes, лежащие в основе всех предложений Amazon EKS. Он включает основные компоненты, необходимые для работы кластера Kubernetes, такие как компоненты плоскости управления Kubernetes (etcd, kube-apiserver, kube-scheduler и kube-controller-manager) и сетевые компоненты (плагины CoreDNS, kube-proxy и CNI). Amazon EKS Distro можно использовать для самостоятельного управления кластерами Kubernetes с помощью выбранных вами инструментов.