Кубернетес на AWS | Как это работает и зачем запускать Kubernetes на AWS?

Существенный рост рынка Kubernetes хорошо выражен, и это широко используемая платформа оркестрации. Тем не менее, он не единственный, не позволяющий ему восстановить полный статус по умолчанию. Популярность Kubernetes заставила его быстро вырасти и предоставить технологическому сообществу возможность внедрять инновации и расти. Это помогло вызвать перебои на рынке, поскольку новые и опытные пользователи конкурируют в облачном пространстве.

Контейнерные технологии привели к увеличению и развитию платформы оркестрации Kubernetes. Сегодня основными пользователями контейнеров являются компании со штатом около 1000 сотрудников, имеющие собственные центры обработки данных. Эти компании также являются основными пользователями Kubernetes в производстве — убедительное напоминание об этом методе, стимулирующем разработку и внедрение проекта.

Кубернетес на AWS

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

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

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

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

Возможности Kubernetes на AWS

  • Запускайте приложения в любом масштабе

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

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

Запускайте высокодоступные и масштабируемые кластеры Kubernetes на AWS, сохраняя при этом полную совместимость с вашими локальными развертываниями Kubernetes.

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

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

Альтернативы самоконтролю включают

  • kops — kops — это инструмент с бесплатным исходным кодом, который можно использовать для автоматизации предоставления кластеров и управления ими в AWS. Несмотря на то, что это не управляемый инструмент, kops позволяет эффективно решать процессы развертывания и обслуживания. AWS официально поддерживает это.
  • Amazon Elastic Kubernetes Service (EKS) — это управляемый сервис, предлагаемый AWS. EKS использует автоматически предоставляемые экземпляры и предоставляет управляемую плоскость управления для вашего развертывания.
  • Rancher — корпоративная вычислительная платформа для развертывания кластеров Kubernetes повсюду: локально, в облаке и на месте. Rancher объединяет эти кластеры, чтобы обеспечить согласованность операций, управление рабочей нагрузкой и безопасность корпоративного уровня.
  • Heptio — Heptio предоставляет ответ, который поддерживает CloudFormation и kubeadm для развертывания Kubernetes на AWS и поддерживает несколько зон доступности. Heptio подходит для пользователей, уже знакомых с инструментом оркестрации CloudFormation AWS.
  • Kismatic Enterprise Toolkit (KET) — KET может представлять собой группу инструментов с конфиденциальными настройками по умолчанию, готовых к работе для создания настроенного на предприятии кластера Kubernetes. Цель этого набора инструментов — облегчить организациям размещение и управление инфраструктурой и кластерами Kubernetes.
  • Kubeadm — проект kubeadm нацелен на создание простого кластера на AWS с использованием Terraform. Это подходящий инструмент для тестирования и проверки концепции только потому, что он не поддерживает несколько зон доступности и другие расширенные функции.
  • OpenShift — часто это платформа Red Hat как сервисный продукт для развертывания и управления программным обеспечением на основе контейнеров. Существует версия с открытым исходным кодом под названием OpenShift Origin, которая включает в себя инструменты для разработчиков и операций на вершине Kubernetes, обеспечивающие простое развертывание, быструю разработку приложений, масштабирование и долгосрочное обслуживание жизненного цикла для небольших и крупных команд.
  • Stackpoint. Это также может быть веб-решение, предоставляющее удобную платформу для предоставления Kubernetes различным облачным провайдерам, таким как AWS, Google Cloud Platform, Microsoft Azure и Digital Ocean. Часто это простой инструмент для тех, кто использует одного облачного провайдера и кому нравится одно место для управления своими мультиоблачными развертываниями Kubernetes.
  • Tack — Tack — это модуль terraform, полезный при проектировании кластеров Kubernetes, которые работают на любой версии CoreOS на AWS. Поддерживает развертывание рабочих узлов в нескольких зонах доступности, готовых к автоматическому масштабированию.

Tack работает в три этапа:

  1. Pre-Terraform. Целью этого этапа является подготовка среды для выполнения Terraform.
  2. Terraform — Terraform выполняет тяжелую работу по созданию и упорядочению ресурсов. Tack использует локальные модули для логического разделения работы.
  3. Пост-терраформирование. После настройки и создания экземпляра инфраструктуры потребуется некоторое время для ее урегулирования.
  • Tectonic — Tectonic обеспечивает автоматическую установку Kubernetes с целью обеспечения безопасности по умолчанию, быстрого и простого размещения в кластерах, высокой доступности, модульности и настраиваемости. Он также работает на любой операционной системе и ориентирован на адаптируемость к нескольким поставщикам облачных услуг, таким как AWS, Google Cloud Platform или Microsoft Azure.

Зачем запускать Kubernetes на AWS?

AWS — лучшее решение для запуска облачных приложений, но настройка и запуск Kubernetes на нем может оказаться сложной задачей. Несмотря на это ограничение, есть несколько причин запускать Kubernetes на AWS. Одна из наиболее привлекательных причин — воспользоваться огромным количеством доступных услуг. Другие причины использовать Kubernetes на AWS, а не на ECS, включают:

  • Полный контроль над вашими серверами. Преимуществом использования Kubernetes на AWS является то, что он дает вам контроль над происходящим, чего обычно не происходит ни у одного другого поставщика облачных услуг.
  • Избыток программного обеспечения с открытым исходным кодом без привязки к клиенту — Kubernetes полностью открыт с исходным кодом, и вокруг него есть различные инструменты. Они предоставляют вам широко открытое, хорошо поддерживаемое сообщество со множеством возможностей.
  • Портативность. Kubernetes работает где угодно: на «голом железе», в публичном облаке, в частном облаке и, если хотите, даже может работать в нескольких публичных облаках.
  • Разрыв облака и защита персональных рабочих нагрузок. Благодаря Kubernetes вы сможете запускать часть своего кластера в общедоступном облаке; с другой стороны, у вас есть конфиденциальные рабочие нагрузки, которые перетекают и выполняются, например, в частном облаке локально.

При установке Kubernetes на AWS вы получите доступ к этим сервисам в каждом разделе. Опишем, что вы хотели бы понимать при настройке кластера.

Как работает Kubernetes на AWS

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

Программное обеспечение плоскости управления Kubernetes решает, когда и где запускать ваши модули, управляет маршрутизацией трафика и масштабирует поддерживаемое использование ваших модулей или другие показатели, которые вы определяете. Kubernetes автоматически запускает модули в вашем кластере, которые удовлетворяют их требованиям к ресурсам, и автоматически перезапускает модули, если они или экземпляры, на которых они работают, выходят из строя. Каждому поду присваивается IP-адрес и одно DNS-имя, которые Kubernetes использует для подключения ваших сервисов и внешнего трафика.

Пять способов запуска Kubernetes на AWS:

1. Создание кластера Kubernetes на AWS с помощью EKS

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

Хотя запуск и запуск Kubernetes на AWS является полезным, все же есть некоторые предварительные условия:

  • Аккаунт AWS
  • Роль IAM с соответствующими разрешениями, позволяющими Kubernetes выполнять инновационные настройки AWS.
  • VPC и средства безопасности для вашего кластера (рекомендуется по одному на каждый кластер)
  • установлен kubectl (возможно, вам понадобится версия, поставляемая Amazon EKS)
  • Интерфейс командной строки AWS установлен

2. Формирование кластера Kubernetes на AWS с помощью kops

Использование Kubernetes Operations (kOps) позволяет абстрагироваться от сложностей управления кластерами Kubernetes на AWS. Он был специально разработан для работы с AWS, и доступна интеграция с другими поставщиками общедоступных облаков. Помимо полной автоматизации установки вашего кластера k8s, kOps запускает все в группах автоматического масштабирования и может поддерживать развертывания высокой доступности. Он также может генерировать манифест Terraform, который можно использовать в системе контроля версий или для создания кластера Terraform.

Если вы хотите использовать kOps, перед созданием и организацией вашего первого кластера необходимо выполнить ряд предварительных условий:

  • Установите kubectl в вашей системе.
  • Установите kOps на 64-битную архитектуру устройства.
  • Настройте необходимые условия AWS
  • Аккаунт AWS
  • Фанатичный пользователь IAM kOps с соответствующими разрешениями.
  • Интерфейс командной строки AWS установлен в вашей системе.
  • Настройте DNS для кластера, например, на Route53 (или, для пробного запуска, более доступной альтернативой является создание кластера на основе сплетен)

3. Создание кластера Kubernetes на AWS с помощью Kubeadm

Kubeadm может быть инструментом, который является частью официального проекта Kubernetes. Хотя kubeadm — мощный инструмент, можно легко попытаться получить кластер K8s и запустить его в производственной системе. Он специально разработан для установки Kubernetes на существующие машины. Несмотря на то, что ваш кластер будет запущен и запущен, вам все равно потребуется интегрировать инструменты обеспечения, такие как Terraform или Ansible, чтобы завершить создание базовой инфраструктуры.

Предпосылки:

  • Kubeadm установлен в вашей системе
  • Одна или несколько машин EC2 под управлением операционной системы Linux, совместимой с deb/rpm (например, Ubuntu), более 2 ГБ памяти на машину и как минимум 2 ЦП на машине главного узла.
  • Полноценное сетевое подключение (публичное или частное) между всеми машинами в кластере.

4. Формирование кластера Kubernetes на AWS с помощью Kubeadm

Другой инструмент установки позволяет использовать сборники сценариев Ansible для настройки среды Kubernetes и управления ею. Одним из преимуществ Kubespray является возможность поддержки развертываний в нескольких облаках, поэтому, если вы хотите запустить свой кластер через нескольких поставщиков или на «голом железе», это может представлять интерес. Kubespray основан на некоторых функциях kubeadm, и его стоит рассмотреть, если вы уже используете kubeadm.

Предпосылки:

  • Удалите параметр комментария cloud_provider в group_vars/all.yml и установите для первого значение «AWS».
  • Роли и политики IAM для «Kubernetes-master» и «Kubernetes-node».
  • Пометьте ресурсы в VPC соответствующим образом для провайдера AWS.
  • В VPC включена как поддержка DNS-имен хостов, так и личный DNS.
  • Имена хостов в вашем файле инвентаризации должны быть такими же, как внутренние имена хостов в AWS.

5. Создание кластера Kubernetes на EC2 вручную.

Если EKS — это «простая кнопка», то установка на экземплярах EC2 — другая. Это может быть для вас, если вам нужна полная гибкость и контроль над развертыванием Kubernetes. Если вы когда-либо работали с Kubernetes, вы наверняка слышали о «Kubernetes the Hard Way». Хотя KTHW изначально ориентировался на Google Cloud Platform, инструкции AWS включены в раздел AWS и Kubernetes. Выполнение инструкций обеспечивает подробный пошаговый процесс ручного исправления кластера на подготовленных вами серверах EC2. Название, кстати, не является неправильным, и если вы выполняете этот ручной процесс, вы пожнете плоды глубокого понимания того, как работает внутреннее устройство Kubernetes.

Предположим, вы собираетесь использовать Kubernetes в производственной системе EC2. В этом случае вам, вероятно, все равно понадобится определенный уровень автоматизации, и в Terraform с Ansible следует использовать функциональный подход. Хотя Terraform далек от установки K8s, он также позволяет вам управлять своей инфраструктурой как кодом, создавая сценарии задач и управляя ими с помощью контроля версий. Существует специальный модуль Terraform для Kubernetes, который помогает облегчить эту задачу. Ansible дополняет возможности управления инфраструктурой Terraform функциями управления программным обеспечением для создания сценариев задач управления ресурсами Kubernetes через сервер Kubernetes API.

Служба Amazon Elastic Kubernetes (EKS)

Amazon Elastic Kubernetes Service (Amazon EKS) — это организованный сервис, который можно использовать для запуска Kubernetes на AWS без необходимости установки, эксплуатации и обслуживания плоскости или узлов управления Kubernetes. Kubernetes — это система с бесплатным исходным кодом для автоматизации развертывания, масштабирования и управления контейнерными приложениями.

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

  1. Amazon ECR для образа контейнера
  2. Эластичный баланс нагрузки для распределения нагрузки
  3. IAM для надежности
  4. Amazon VPC для уединения

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

Компании, использующие Amazon EKS

Amazon EKS используют следующие компании:

Fidelity Investments — корпорация финансовых услуг. Один из наиболее важных управляющих активами в мире управляет брокерской деятельностью, управляет огромной семьей взаимных фондов, криптовалютой, а также предоставляет консультации по распределению средств и инвестициям, управление активами, пенсионные услуги, индексные фонды, клиринг и исполнение ценных бумаг.

Snap Inc. — компания по производству камер и социальных сетей. Оно обеспечивает человеческий прогресс, давая людям возможность выражать себя, мгновенно спать, изучать планету и вместе праздновать.

Babylon — это поставщик медицинских услуг на основе подписки, который позволяет пользователям получать виртуальные консультации посредством текстовых и видеосообщений с врачами и медицинскими работниками через свое мобильное приложение, чтобы предоставить доступное и доступное здравоохранение в руки каждого человека на Земле.

HSBC — одна из крупнейших в мире организаций, предоставляющих банковские и финансовые услуги, обслуживающая около 40 миллионов клиентов через свои глобальные направления: банковское обслуживание благосостояния и частного сектора, коммерческое банковское обслуживание и глобальное банковское обслуживание и рынки. Это инвестиционный банк и компания, предоставляющая финансовые услуги.

Amazon.com — технологическая компания, которая в первую очередь специализируется на электронном бизнесе, облачных вычислениях, цифровой потоковой передаче и искусственном интеллекте.

GoDaddy расширяет возможности ежедневных предпринимателей, предоставляя всю техническую помощь и инструменты для достижения успеха в Интернете. GoDaddy, насчитывающая около 19 миллионов пользователей по всему миру, — это место, где люди создают хорошо информированный веб-сайт, рассказывают о своей идее, привлекают клиентов и управляют своей работой.

Bird — компания, занимающаяся микромобильностью: за первый год работы на электросамокатах общего пользования было совершено 10 миллионов поездок в более чем 100 городах центральной части Европы и Северной Америки.

Delivery Hero может быть популярной онлайн-площадкой для заказа и доставки еды. Эта компания управляет автопарками доставки в 39 странах, перевозя около 1 миллиона заказов на еду каждый день.

freee KK — один из самых быстрорастущих финтех-стартапов, представленных на рынке TSE Mothers в 2019 году, с самой важной долей рынка Японии. freee KK разрабатывает и внедряет облачные бухгалтерские и программные услуги, чтобы внести новые изменения в малый и средний бизнес.

SuperAwesome хочет сделать Интернет более безопасным для подростков. Они создали технологическую платформу, которая помогает всем пользователям цифровой экосистемы создавать безопасные для детей приложения для цифрового взаимодействия, включая приложения и сайты, а также дополнительные функции, такие как видео, безопасная монетизация рекламы, аутентификация и функции сообщества.

Nanit — стартап, который разрабатывает устройства для радионяни, подключаемые через мобильное приложение. Камера снимает видео ребенка, анализирует отснятый материал и делится информацией, подтвержденной движениями ребенка.

FollowAnalytics помогает компаниям понять поведение своих клиентов в мобильных и веб-приложениях и удержать их посредством целенаправленного маркетингового планирования с использованием push-уведомлений и уведомлений в приложениях.

Mercari — компания электронного бизнеса и торговли, работающая в США и Японии. Приложение торговой площадки Mercari превратилось в крупнейшую торговую площадку Японии, управляемую сообществом, с транзакциями на сумму более 10 миллиардов иен, проводимых на платформе ежемесячно, и более 100 миллионами загрузок. Это первая японская компания, добившаяся статуса единорога.

amazee.io — это компания, которая предлагает гибкие, высокопроизводительные, безопасные решения для хостинга контейнеров с открытым исходным кодом, созданные для скорости, безопасности и масштабируемости.

Краткое описание Kubernetes на AWS

AWS — полезное решение для запуска облачных приложений, но попытка настроить Kubernetes для его запуска может оказаться непростой задачей. Чтобы упростить AWS, в Kubernetes доступны такие инструменты развертывания, как Kops. Amazon также предлагает альтернативы снижению эксплуатационных расходов на исправление Kubernetes: Elastic Container Service (ECS), который может быть службой оркестрации контейнеров, ориентированной на высокую доступность (HA) «из коробки», но не переносимой на других поставщиков инфраструктуры. . А Amazon Elastic Container Service для Kubernetes совместим с существующими конфигурациями Kubernetes и по умолчанию обеспечивает высокую доступность во всех зонах доступности. Rancher и Terraform — это инструменты, которые могут помочь ускорить развертывание приложений в кластерах Kubernetes. Сильной стороной Rancher является каталог приложений, который позволяет развертывать стандартные и пользовательские приложения за пару кликов. Terraform часто помогает внедрить единый язык конфигурации инфраструктуры для всех поставщиков.

Хотите стать профессионалом в области облачных вычислений? Наш курс для аспирантов по облачным вычислениям — это все, что вам нужно, чтобы стать им. Узнайте больше о программе прямо сейчас.

Заключение

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

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

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

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *