Зачем Big Data нужен Kubernetes? | OTUS
🔥 Начинаем BLACK FRIDAY!
Максимальная скидка -25% на всё. Успейте начать обучение по самой выгодной цене.
Выбрать курс

Курсы

Программирование
iOS Developer. Basic
-25%
Python Developer. Professional
-25%
Разработчик на Spring Framework
-25%
Golang Developer. Professional
-25%
Python Developer. Basic
-25%
iOS Developer. Professional
-25%
Highload Architect
-25%
JavaScript Developer. Basic
-25%
Kotlin Backend Developer
-25%
JavaScript Developer. Professional
-25%
Android Developer. Basic
-25%
Unity Game Developer. Basic
-25%
Разработчик C#
-25%
Программист С Web-разработчик на Python Алгоритмы и структуры данных Framework Laravel PostgreSQL Reverse-Engineering. Professional CI/CD Vue.js разработчик VOIP инженер Программист 1С Flutter Mobile Developer Супер - интенсив по Kubernetes Symfony Framework Advanced Fullstack JavaScript developer Супер-интенсив "Azure для разработчиков"
Инфраструктура
Мониторинг и логирование: Zabbix, Prometheus, ELK
-25%
DevOps практики и инструменты
-25%
Архитектор сетей
-25%
Инфраструктурная платформа на основе Kubernetes
-25%
Супер-интенсив «ELK»
-16%
Супер-интенсив «IaC Ansible»
-16%
Супер-интенсив "SQL для анализа данных"
-16%
Базы данных Сетевой инженер AWS для разработчиков Cloud Solution Architecture Разработчик голосовых ассистентов и чат-ботов Внедрение и работа в DevSecOps Администратор Linux. Виртуализация и кластеризация Нереляционные базы данных Супер-практикум по использованию и настройке GIT IoT-разработчик Супер-интенсив «СУБД в высоконагруженных системах»
Специализации Курсы в разработке Подготовительные курсы
+7 499 938-92-02

Зачем Big Data нужен Kubernetes?

Контейнеризация обеспечивает нам непрерывную интеграцию и поставку ПО (CI/CD), что соответствует современному подходу DevOps. И правда, упаковав в контейнер программное окружение, мы сможем быстро развернуть микросервис на рабочем сервере, безопасно взаимодействуя с прочими приложениями. И многим хорошо знаком Docker Compose, позволяющий описывать и запускать многоконтейнерные приложения. Но если нам нужно обеспечить действительно сложный порядок запуска огромного количества таких контейнеров (допустим, нескольких тысяч, как это нередко бывает в Big Data-системах), то не обойтись без эффективного средства управления ими – инструмента оркестрации. Как раз в этом и заключается основное назначение Kubernetes.

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

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

Что имеет особое значение для проектов Big Data, так это Kubelet – компонент Kubernetes, который работает на узлах, автоматически обеспечивая запуск, остановку и управление контейнерами, организованными в поды. В случае нахождения проблемы с каким-либо подом, Kubelet попытается повторно развернуть его и выполнить перезапуск.

Как и в случае с HDFS (популярная файловая система для решений Big Data), в Kubernetes-кластере любой узел регулярно посылает на master heartbeat message — сообщения диагностического характера. И если мастер обнаруживает сбой на каком-нибудь узле, Replication Controller старается перезапустить нужные поды на другом узле, который работает корректно.

Принципы работы Kubernetes:

k8s_4_1-20219-6faf15.png

Примеры использования Kubernetes

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

К примеру, Kubernetes используют: — сервис знакомств Tinder; — компания Huawei; — сервис поиска автомобильных попутчиков BlaBlaCar; — евроцентр ядерных исследований (CERN) и множество других компаний, которые работают с большими данными и нуждаются в современных инструментах для отказоустойчивого и быстрого развёртывания приложений.

Остаётся добавить, что из-за цифровизации предприятий и распространения DevOps-подхода, спрос на навыки владения Kubernetes также растёт и в отечественных компаниях. Вывод прост — Kubernetes сегодня — это must have для современного DevOps-инженера и разработчика Big Data.

Не пропустите новые полезные статьи!

Спасибо за подписку!

Мы отправили вам письмо для подтверждения вашего email.
С уважением, OTUS!

Автор
0 комментариев
Для комментирования необходимо авторизоваться
🎁 Максимальная скидка!
Черная пятница уже в OTUS! Скидка -25% на всё!