Контейнеризация приложений с помощью Kubernetes

Контейнеризация приложений с помощью Kubernetes
Время на прочтение: 3 минуты

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

Почему Kubernetes

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

Чем удобен Kubernetes

Разработчики, которые сталкивались с проблемой несовместимого инструментария для развертывания инфраструктуры, говорят об удобной унификации взаимодействия. Распределенные команды уточняют, что платформа помогает им работать как единое целое. Компании, которые быстро и часто создают много приложений, упирают на скорость time-to-market. Инженеры Big Data главным преимуществом K8s называют возможность разворачивать и гибко управлять более чем 100 контейнерными кластерами.

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

Варианты работы с Kubernetes

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

При стандартном подходе кластеры Kubernetes развертываются в облаке как автономные vApp, а администратор объединяет в кластер виртуальные серверы, балансировщики, диски, настройки сети и другие объекты облака. Дальше остается запустить инструмент командной строки для подключения к виртуальному дата-центру и настроить управление сервисом. Решение удобно для компаний с микросервисной архитектурой, серьезными потребностями в ресурсах и командой специалистов с узкими компетенциями. Как минимум, в области безопасности, администрирования СХД, управления Kubernetes.

Managed Kubernetes реализуется в формате «Kubernetes как услуга» или «аренда кластера Kubernetes». При таком подходе разработчики получают не голый Kubernetes, а готовый к работе кластер. Настроенный, адаптированный под задачи команды. Администрирование кластера Kubernetes берет на себя провайдер. У разных поставщиков состав сервиса может быть разным, но в реализации Nubes управляемый K8s закрывает все вопросы по гарантии доступности, совместимости обновлений, резервному копированию, масштабированию, балансировке трафика.

Ввиду этих особенностей, сервис managed Kubernetes может быть интересен бизнесу двух категорий:

1. Малому, среднему digital бизнесу и IT-стартапам, которым при ограниченном бюджете нужны полнофункциональные Kubernetes-решения. Готовые решения традиционно дешевле и это позволяет снизить расходы на внедрение K8s.

2. Средний и крупный бизнес, для которого разработка и доставка кода приложений до production не является профильным направлением. Такому бизнесу важно свести технические вопросы к минимуму и дать команде разработки возможность сосредоточиться на основной деятельности.

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

Новые статьи и анонсы вебинаров в нашем Телеграм-канале