Статья опубликована в рамках: Научного журнала «Студенческий» № 1(297)
Рубрика журнала: Информационные технологии
Скачать книгу(-и): скачать журнал часть 1, скачать журнал часть 2, скачать журнал часть 3, скачать журнал часть 4, скачать журнал часть 5, скачать журнал часть 6, скачать журнал часть 7, скачать журнал часть 8, скачать журнал часть 9, скачать журнал часть 10, скачать журнал часть 11
ПРИМЕНЕНИЕ ОБЛАЧНЫХ ОРКЕСТРАТОРОВ
АННОТАЦИЯ
Облачные оркестраторы играют в настоящее время важную роль в управлении современными инфраструктурами, обеспечивая автоматизацию развертывания, управления и масштабирования приложений в облачных средах. В данной статье рассматриваются основные функциональные возможности для облачных оркестраторов, преимущества и недостатки их использования, также варианты использования, включая один из наиболее распространённых облачных оркестраторов – Kubernetes, применяемый для оркестровки контейнеризованных приложений, также были описаны сценарии и некоторые примеры для использования облачных оркестраторов с целью развёртывания приложений или различных сервисов.
ABSTRACT
Cloud orchestrators currently play an important role in managing modern infrastructures by automating the deployment, management, and scaling of applications in cloud environments. This article discusses the main functionality for cloud orchestrators, the advantages and disadvantages of using them, as well as use cases, including one of the most common cloud orchestrators, Kubernetes, used to orchestrate containerized applications, scenarios and some examples for using cloud orchestrators to deploy applications or various services.
Ключевые слова: облачные вычисления, контейнеризация, облачный оркестратор, развёртывание, микросервисы.
Keywords: cloud computing, containerization, cloud orchestrator, deployment, microservices.
С увеличением популярности как облачных технологий, так и технологий контейнеризации, управление сложными IT-инфраструктурами становится более трудоемким и требующим значительных усилий процессом. Для решения этой задачи были созданы облачные оркестраторы, которые предоставляют инструменты для автоматизации процессов, их использование позволит командам больше сосредоточиться на процессах разработки программного продукта, а также его тестирования, выпуска и развёртывания. Оркестрация представляет собой координацию различных задач, с помощью которых возможно добиться более эффективного управления для имеющихся вычислительных ресурсов и упростить процесс развёртывания приложений.
Облачный оркестратор – это платформа, которая используется для автоматизации процесса управления облачными ресурсами вычислительных систем, включая в том числе развертывание, масштабирование и управление приложениями. С её помощью возможно объединять различные инструменты и процессы в единую систему, это значительно упрощает управление многими аспектами для всей облачной инфраструктуры компании [1]. Основными задачами для таких оркестраторов являются:
Управление контейнерами – оркестраторы выполняют управление для процессов развертывания, обновления и остановки приложений, которые находятся в контейнере. Например, при масштабировании веб-приложения Kubernetes выполняет автоматические создание дополнительных контейнеров и выполняет распределение нагрузки между ними.
Мониторинг и логирование – инструменты оркестрации возможно использовать для предоставления различных метрик: состояния отдельных узлов кластера или приложений, а также для отслеживания использования CPU, памяти и других вычислительных или сетевых ресурсов. Для задачи мониторинга чаще всего применяются такие программные средства, как Prometheus, который используется в качестве системы для мониторинга всей работы приложения и различных серверов, которые используются для его развёртывания, например, Linux-серверы, веб-серверы Apache или серверы для систем управления базами данных, а также используется дополнение Grafana, применяемое с целью визуализации полученных данных о работе серверов и приложений с помощью наглядных графиков, диаграмм или различных таблиц.
Автоматизация восстановления – облачные оркестраторы выполняют процесс перезапуск для неработающих контейнеров для полной поддержки заявленного состояния работы системы или приложения, так, например, Kubernetes в случае выхода контейнера из строя создаст автоматически новый экземпляр на рабочем узле с целью восстановления работы системы.
Организация сетевого взаимодействия включает в себя балансировку нагрузки, а также обеспечение связи между различными микросервисами для приложения, например, сетевая модель, использованная в оркестраторе Kubernetes, предоставляет различные Ingress-контроллеры для управления HTTP-трафиком.
Сейчас Kubernetes (k8s) является де-факто стандартом для управления контейнерными приложениями с помощью масштабируемости, надежности и гибкости. Данный облачный оркестратор также предоставляет большое число различных плагинов, которые возможно использовать для расширения его функциональных возможностей и использования других дополнительных функций [2].
Kubernetes был изначально разработан компанией Google *(По требованию Роскомнадзора информируем, что иностранное лицо, владеющее информационными ресурсами Google является нарушителем законодательства Российской Федерации – прим. ред.), а в настоящее время имеет открытый исходный код под лицензией Apache, размещаемый в репозитории на платформе GitHub [3]. Именно поэтому многие облачные провайдеры или сервисы предоставляют собственные платформы или даже дистрибутивы, которые основаны на исходном коде Kubernetes в виде отдельных продуктов для пользователей или компаний. Своё применение Kubernetes нашёл в различных крупных компаниях, включая IBM, Oracle, Apple и другие.
Основными возможностями Kubernetes являются следующие:
- оркестрация контейнеров (автоматическое развёртывание и управления контейнерами)
- хранилище конфигураций (использования для управления данными ConfigMap или Secret)
- горизонтальное масштабирование (динамическое изменение числа контейнеров в зависимости от показателей нагрузки приложения)
- интеграция с различными облачными провайдерами (поддержка AWS, GCP, Azure и других)
Рисунок 1. Схема для архитектуры облачного оркестратора Kubernetes
Список литературы:
- What is Cloud Orchestration? // VMware [Электронный ресурс] – URL: https://www.vmware.com/topics/cloud-orchestration
- Kubernetes [Электронный ресурс] – URL: https://kubernetes.io/
- Kubernetes. Production-Grade Container Scheduling and Management // GitHub [Электронный ресурс] – URL: https://github.com/kubernetes/kubernetes
Оставить комментарий