Введение в Amazon EKS
Кубернетес на AWS
Amazon Cloud (AWS) предлагает ряд сервисов, которые помогают в оркестрации контейнеров, включая Amazon Elastic Container Service (ECS), Amazon Elastic Kubernetes Service (EKS), Amazon LightSail и Amazon Elastic Container Registry (ECR). В этой статье мы узнаем о Amazon EKS, то есть Kubernetes в облаке AWS.
1. Что такое Amazon EKS?
Amazon EKS (расшифровывается как Amazon Elastic Kubernetes Service) — это управляемый сервис, который позволяет запускать Kubernetes в облаке AWS без необходимости настраивать, администрировать или поддерживать собственную плоскость управления и узлы.
Kubernetes - это технология с открытым исходным кодом, которая автоматизирует развертывание, масштабирование и управление контейнерами, то есть контейнерными приложениями.
Для достижения высокой доступности EKS запускает и масштабирует плоскость управления Kubernetes в различных зонах доступности AWS. В Amazon EKS экземпляры плоскости управления автоматически масштабируются в зависимости от нагрузки, а неработоспособные экземпляры плоскости управления обнаруживаются и заменяются, а также автоматически выполняются обновления версий и исправления.
Amazon EKS можно интегрировать с другими сервисами AWS для предоставления различных возможностей. Например, рабочие узлы могут быть предоставлены с помощью экземпляров AWS EC2, ECR (Elastic Container Registry) для образов контейнеров, VPC (виртуального частного облака) для изоляции ресурсов.
2. Компоненты кластера Amazon EKS
Кластер Amazon EKS состоит из двух важных компонентов.
- Плоскость управления EKS
- Узлы ЭКС
2.1. План управления EKS
Плоскость управления Amazon EKS состоит из узлов, на которых выполняется программное обеспечение Kubernetes, например etcd, и сервер API Kubernetes. Плоскость управления работает с учетной записью AWS, а API Kubernetes доступен через конечную точку Amazon EKS для вашего кластера. Каждая плоскость управления кластером Amazon EKS имеет собственный набор экземпляров Amazon EC2, является одноарендной и уникальной.
Плоскость управления EKS доступна в нескольких зонах доступности; Если на какой-либо из плоскостей управления возникает проблема, EKS автоматически идентифицирует и заменяет эти неработоспособные узлы плоскости управления, а также предоставляет обновления и исправления по требованию без простоев.
2.2. Узлы ЭКС
Узлы Amazon EKS работают в вашей учетной записи AWS и подключаются к плоскости управления вашего кластера через конечную точку сервера API и файл сертификата, выданный для вашего кластера. Группы узлов должны быть созданы для подготовки узлов в кластере EKS.
Группа узлов состоит из одного или нескольких узлов. В группе Amazon EC2 Auto Scaling группа узлов состоит из одного или нескольких инстансов Amazon EC2, и все инстансы должны быть одного типа с одним и тем же образом Amazon Machine Image (AMI). Группа узлов должна использовать одну и ту же роль IAM.
3. Методы развертывания кластера EKS
Кластер EKS можно создать двумя способами.
- Amazon EKS — eksctl: Это простая утилита командной строки для создания и обслуживания кластеров Kubernetes. AWS и Weaveworks совместно разработали eksctl — инструмент, который автоматизирует большую часть процесса настройки кластеров EKS. Eksctl также поддерживает предоставление ресурсов через файл конфигурации, что является предпочтительным методом, поскольку позволяет вам контролировать версии конфигурации вашего кластера EKS.
- Консоль управления AWS и интерфейс командной строки AWS. Это самый простой способ развертывания кластера Amazon EKS, при котором вы можете запустить EKS как сервис в AWS и добавлять узлы, создавая группы узлов в самой консоли AWS.
4. Как работает Amazon EKS
Самый простой способ рассмотреть Amazon EKS — это «Kubernetes как услуга» от AWS Cloud.
Как упоминалось выше, Amazon EKS состоит из двух основных компонентов; Плоскость управления EKS/главный узел и плоскость данных/рабочие узлы, которые создают кластер EKS. Обе плоскости работают в собственных виртуальных частных облаках (VPC).
Узлы в VPC отвечают за запуск образов контейнеров или рабочих нагрузок. AWS также предлагает сетевую инфраструктуру, необходимую для соединения этих компонентов и формирования кластера Kubernetes.
Поды можно запланировать на любом сочетании узлов с самоуправлением, группах узлов, контролируемых Amazon EKS, и AWS Fargate в кластере Amazon EKS.
Узлы Amazon EKS работают под вашей учетной записью и используют конечную точку сервера API кластера для связи с плоскостью управления.
Следующие сведения и схема иллюстрируют развертывание приложений в кластере EKS.
Предоставление кластера Amazon EKS - мастер обеспечения
Вы можете создать кластер в консоли управления AWS, с помощью AWS CLI или одного из AWS SDK.
Развертывание Compute - Provisioning Worker
Вычислительные узлы можно запускать из инстансов AWS Fargate или Amazon EC2. Чтобы настроить рабочие узлы для выполнения контейнеров приложений, EKS предоставляет следующие параметры.
- Самоуправление. Пользователь несет ответственность за подготовку экземпляров EC2, связанных с кластером. Это предоставляет вам больше возможностей при настройке рабочих узлов.
- Управляемый. В кластерах Amazon EKS Kubernetes группы управляемых узлов автоматизируют выделение ресурсов и управление жизненным циклом узлов (экземпляров Amazon EC2).
- AWS Fargate. Fargate — это бессерверная вычислительная система, управляемая AWS, которая позволяет выполнять контейнерные приложения без необходимости обслуживания серверов.
Подключение к кластеру Amazon EKS
Kubernetes взаимодействует со своим кластером через инструмент командной строки Kubectl. Вам необходимо установить kubectl на свой компьютер и настроить его для подключения Amazon EKS и запуска приложений.
Отслеживание приложений Kubernetes
После создания полного кластера EKS вам необходимо развернуть панель мониторинга Kubernetes, которая представляет собой веб-интерфейс управления для управления и мониторинга вашего кластера EKS.
Развертывание приложений с помощью EKS в облаке
5. Возможности Amazon EKS
Здесь я перечислил некоторые важные функции Amazon EKS.
Плоскость управляемого управления
Amazon EKS предоставляет высокодоступную плоскость управления с возможностью автоматического масштабирования. Поскольку EKS работает в трех зонах доступности, он автоматически обнаруживает неработоспособную плоскость управления и заменяет ее.
Интеграция сервисов
Контроллеры AWS для Kubernetes (ACK) позволяют управлять сервисами AWS непосредственно из среды Kubernetes. Используя ресурсы AWS, ACK упрощает создание масштабируемых и высокодоступных приложений Kubernetes.
Eksctl - однострочное управление
Это инструмент командной строки, который можно установить на ваш компьютер с Windows или Linux для создания, запуска и управления кластером EKS. Это упрощает управление и эксплуатацию кластера.
Безопасность
Amazon EKS интегрируется с различными сервисами и технологиями, обеспечивая высокозащищенную среду. Например, IAM обеспечивает детальный контроль доступа, а VPC изолирует и защищает ваш кластер EKS от доступа третьих лиц.
Балансировка нагрузки
Amazon EKS поддерживает использование Application Load Balancer, который идеально подходит для расширенной балансировки нагрузки HTTP- и HTTPS-трафика. Кроме того, EKS использует Network Load Balancer и Classic Load Balancer.
Бессерверные вычисления
Чтобы выполнять ваши приложения Kubernetes с использованием бессерверных вычислений, EKS поддерживает AWS Fargate. Fargate устраняет необходимость в создании и обслуживании серверов. Это позволяет вам выбирать и оплачивать ресурсы для каждого приложения.
Гибридное развертывание
EKS на «AWS Outposts» можно использовать для выполнения контейнерных приложений с минимальными задержками в локальных системах. AWS Outposts — это полностью управляемое решение, которое соединяет любое подключенное местоположение с инфраструктурой, сервисами, API и инструментами AWS. Вы можете управлять контейнерами локально с такой же простотой, как и в облаке с помощью EKS на Outposts.
Совместимость с открытым исходным кодом
Amazon EKS поддерживает распространенные дополнения Kubernetes, а EKS хорошо совместим с инструментами сообщества Kubernetes.
Обновления управляемого кластера
Обновления версий Kubernetes выполняются «на лету», что устраняет необходимость создания новых кластеров или переноса приложений в новый кластер.
6. Цены на Amazon EKS
За каждый создаваемый вами кластер Amazon EKS вы платите 0,10 доллара США в час. Используя пространства имен Kubernetes и настройки безопасности IAM, вы можете запускать множество приложений в одном кластере EKS.
На AWS вы можете использовать Amazon Elastic Compute Cloud (Amazon EC2) или AWS Fargate для управления EKS, а локально — использовать AWS Outposts. Соответственно, будет рассчитана цена.
AWS предоставляет калькулятор для оценки цены. Вы можете использовать ссылку ниже, чтобы оценить цену на EKS Cluster.
Калькулятор цен AWS
Более подробную информацию о модели ценообразования инстансов AWS EC2 можно найти в статье ниже, поскольку вы можете использовать инстансы EC2 для рабочих узлов EKS.
- Введение в веб-службы Amazon (AWS)
Если вы используете AWS Fargate, цена зависит от объема виртуальных ЦП и оперативной памяти, потребляемых с момента начала загрузки образа контейнера до завершения модуля Amazon EKS; расчет времени будет округлен до ближайшей секунды. Минимальная плата будет взиматься за одну минуту, даже если вы используете 10 секунд.
Используйте эту ссылку, чтобы оценить цену AWS Fargate. Здесь вам необходимо заполнить такие данные, как модель ОС, количество POD, количество виртуальных ЦП, память.
Рассчитать стоимость AWS Fargate
На AWS Outposts вы можете создавать и запускать узлы Amazon EKS. AWS Outposts позволяет локальным объектам использовать собственные сервисы, инфраструктуру и операционные модели AWS.
Стоимость Amazon EKS на AWS Outposts проста и идентична стоимости кластера Amazon EKS, развернутого в AWS, и вы платите 0,10 доллара США в час.
Вы можете приобрести различные типы конфигураций стоек AWS Outposts в соответствии с вашими требованиями. Конфигурация стойки представляет собой комбинацию типа инстанса EC2, тома EBS gp2 и S3 на Outposts. Перейдите по этой ссылке, чтобы оценить вашу модель ценообразования для AWS Outposts.
Заключение
В этой статье мы разобрались с основными концепциями Amazon EKS, его моделью работы и ценообразования, а также важными функциями. В следующей статье мы увидим процедуры создания кластера Amazon EKS.
Читать далее:
- Как развернуть кластер Kubernetes на AWS с помощью Amazon EKS
Ресурс:
- Руководство пользователя Amazon EKS