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

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

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

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

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

Безопасность

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

Аутентификация IAM

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

Поддержка VPC

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

Amazon EKS использует решение Calico компании Tigera для интеграции с плагином сетевого интерфейса контейнера (CNI) AWS VPC и предоставления возможности точной настройки сетевых политик. Это позволяет управлять доступом к каждому микросервису, используя API Kubernetes.

Поддержка PrivateLink

Amazon EKS поддерживает технологию PrivateLink как способ доступа к ведущим узлам Kubernetes и сервису Amazon EKS. При использовании PrivateLink ведущие узлы Kubernetes и адрес API сервиса Amazon EKS отображаются в облаке Amazon VPC как эластичный сетевой интерфейс (ENI) с частными IP-адресами. Это позволяет получить доступ к ведущим узлам Kubernetes и сервису Amazon EKS непосредственно из собственного облака Amazon VPC – без использования публичных IP-адресов и без передачи трафика через Интернет.  

Автоматическое обновление версий

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

Поддержка инструментов, разработанных сообществом

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

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

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

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