- PVSM.RU - https://www.pvsm.ru -

Kubernetes в Amazon (EKS) стал общедоступным

Вчера компания Amazon Web Services объявила [1] о полноценном запуске своего облачного сервиса на базе Kubernetes — EKS [2] (Amazon Elastic Container Service for Kubernetes). Впервые он был анонсирован [3] в ноябре прошлого года (вскоре после того, как AWS присоединилась [4] к стоящему за Kubernetes фонду CNCF), но тогда он имел статус предварительного доступа. Что скрывается за EKS?

Kubernetes в Amazon (EKS) стал общедоступным - 1


Amazon EKS — это готовый к использованию Kubernetes, развёрнутый и управляемый в облачном окружении AWS. Можно говорить о EKS как о managed service (или hosted service). Этот рынок (для Kubernetes) достаточно нов, однако он уже значительно шире, чем всем известные Google Kubernetes Engine (GKE) и Azure Kubernetes Service (AKS), т.к. насчитывает как минимум более десятка официально «задокументированных» [5] предложений от крупных и не очень ИТ-компаний (включая Red Hat, IBM, Oracle, Pivotal и т.п.).

Как и в прошлый раз, в анонсе Amazon с особой гордостью отмечается, что (по официальной статистике CNCF [6]) «AWS является ведущим окружением для Kubernetes», поскольку 57 % из компаний, использующих Kubernetes, размещают свои кластеры в облаке Amazon. Эти данные — результат опроса более 550 представителей сообщества Kubernetes, посетивших конференцию KubeCon + CloudNativeCon North America (в декабре 2017 года). Подобные цифры в CNCF регулярно получают на своих крупных мероприятия, и процент AWS стабильно растёт. Стоит только уточнить, что этот процент — результат множественной выборки (т.е. те же пользователи K8s в своём большинстве одновременно работают и с другими платформами).

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

  1. Multi-AZ — высокая доступность Kubernetes control plane (точнее, kube-apiserver и etcd), который и является собственно hosted, т.е. размещённым на мощностях AWS и обслуживаемым автоматически: узлы сами замещаются в случае падений, а также автоматически патчатся/обновляются. Доступность же достигается благодаря распределённости control plane по трём Availability Zones в AWS.
  2. Использование Heptio Authenticator [7] для аутентификации, что обеспечивает интеграцию с AWS Identity and Access Management (т.е. можно использовать роли из IAM).
  3. Поддержка разных способов балансировки нагрузки для маршрутизации трафика: AWS Network Load Balancer, AWS Application Load Balancer, Elastic Load Balancer.
  4. Использование томов Amazon Elastic Block Store (EBS) для хранения данных в Kubernetes (PersistentVolumes).
  5. Возможность использования DNS-записей из Route 53 для сервисов, размещённых в кластерах Kubernetes.
  6. Поддержка автомасштабирования — AWS Auto Scaling.
  7. Плагин к CNI [8] для использования сетевых интерфейсов Elastic Network Interfaces в кластерах.

Среди прочих интеграций EKS с сервисами AWS можно отметить поддержку AWS PrivateLink и AWS CloudTrail (для логов).

В FAQ проекта [9] заявляется, что в сервисе запущена «последняя версия Open Source-версии Kubernetes, благодаря чему вы можете использовать все существующие плагины и инструменты от сообщества Kubernetes». В другом вопросе уточняется, что на данный момент поддерживается только версия Kubernetes 1.10.

В простейшей детализации авторы так представляют архитектуру EKS:

Kubernetes в Amazon (EKS) стал общедоступным - 2

А так — алгоритм использования EKS:

Kubernetes в Amazon (EKS) стал общедоступным - 3

Как же всё-таки попробовать EKS в действии, можно увидеть из анонса Amazon EKS [1], где приводится пошаговая инструкция (со скриншотами) по созданию кластера Kubernetes, а также в документации AWS — там подготовлен 30-минутный tutorial «Deploy a Kubernetes Application [10]».

На данный момент Amazon EKS доступен только для американских регионов US East (N. Virginia) и US West (Oregon), а его распространение на другие ожидается «очень скоро», хотя в таблице сервисов по регионам [11] этой услуги пока нет.

Наконец, в Amazon утверждают, что вносят изменения в upstream кодовой базы самого Kubernetes и связанных проектов (включая упомянутый Heptio Authenticator, а также Virtual Kubelet). Однако в этом случае статистика [12] явно не на их стороне: среди сколь-нибудь значимых лидеров по числу коммитов в кодовую базу Kubernetes компании нет. С другой стороны, один только этот факт позволяет спокойно реагировать на прогнозы о будущем Kubernetes вроде этого [13].

Автор: Дмитрий Шурупов

Источник [14]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/amazon-web-services/282129

Ссылки в тексте:

[1] объявила: https://aws.amazon.com/ru/blogs/aws/amazon-eks-now-generally-available/

[2] EKS: https://aws.amazon.com/eks/

[3] был анонсирован: https://aws.amazon.com/blogs/aws/amazon-elastic-container-service-for-kubernetes/

[4] присоединилась: https://www.cncf.io/announcement/2017/08/09/amazon-web-services-joins-cloud-native-computing-foundation-platinum-member/

[5] официально «задокументированных»: https://kubernetes.io/docs/setup/pick-right-solution/#hosted-solutions

[6] официальной статистике CNCF: https://www.cncf.io/blog/2017/12/06/cloud-native-technologies-scaling-production-applications/

[7] Heptio Authenticator: https://github.com/heptio/authenticator

[8] CNI: https://habr.com/company/flant/blog/329830/

[9] FAQ проекта: https://aws.amazon.com/eks/faq/

[10] Deploy a Kubernetes Application: https://aws.amazon.com/getting-started/projects/deploy-kubernetes-app-amazon-eks/

[11] таблице сервисов по регионам: https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/

[12] статистика: http://stackalytics.com/?project_type=kubernetes-group&metric=commits&release=rocky

[13] вроде этого: https://medium.com/@krishnan/why-should-kubernetes-be-scared-of-aws-823876d5148b

[14] Источник: https://habr.com/post/413409/?utm_source=habrahabr&utm_medium=rss&utm_campaign=413409