Kubernetes

Kubernetes

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

Kubernetes представляет собой открытое программное обеспечение для автоматизации развертывания, масштабирования контейнезированных приложений и управления ими. Предназначение Kubernetes как платформы – предоставить базовую, абстрактную платформу как услугу (Platform as a Service, PaaS), сохранив гибкость в выборе конкретных компонентов этой PaaS.

Оригинальная версия была разработана для внутренних нужд компанией Google, но в дальнейшем была передана под управление Cloud Native Computing Foundation. На данный момент используется рядом крупных организаций и интернет-проектов. Например, инфраструктура фонда Wikimedia Foundation перенесена с самостоятельно разработанного программного обеспечения для организации кластеров на Kubernetes.

Преимущества:

1. Система сама себя восстанавливает в случае сбоев;
2. Система становится повторяемой;
3. Система становится версионируемой.

Основные понятия:

Узел – отдельная физ. или виртуальная машина, на которой развернуты и выполняются контейнеры приложений. В каждом узле присутствуют сервисы для запуска приложений в контейнерах + компоненты, предназначенные для централизованного управления узлом.

Под – базовая единица для управления приложениями и их запуска. Поды могут напрямую управляться с использованием API Kubernetes или управление ими может быть передано контроллеру.

Контроллер – процесс, управляющий состоянием кластера в попытке привести его от фактического к желаемому. Делает он это, оперируя набором подов, который определяется с помощью селекторов меток, которые являются частью определения контроллера.

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

Том – общий ресурс хранения для совместного использования из контейнеров, развернутых в пределах одного пода.

Сервис – совокупность логически связанных наборов подов и политик доступа к ним.

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

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

Системой реализуется архитектура «ведущий – ведомый»: выделяется подсистема управления кластером, а часть компонентов управляют индивидуальными, ведомыми узлами, которые и называются Kubernetes.

Свяжитесь с нами и улучшите свой бизнес
Спасибо, мы свяжемся с вами