Основные понятия хранилища для Kubernetes

Завершено

Kubernetes — это открытая платформа, которая управляет приложениями на основе контейнеров и связанными сетевыми компонентами и компонентами хранилища. Он предоставляет декларативный подход к развертываниям, поддерживаемый надежным набором API для операций управления.

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

Управление контейнерами и оркестрация

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

Архитектура Kubernetes

Архитектура Kubernetes основана на кластерах. Кластер Kubernetes делится на два основных компонента инфраструктуры:

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

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

Постоянное хранилище в Kubernetes

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

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

Kubernetes решает проблемы хранения контейнеров, вводя две абстракции: постоянные тома и запросы постоянных томов.

Постоянные тома

Постоянный том (PV) — это ресурс хранилища в кластере, созданный и управляемый API Kubernetes, который может существовать за пределами срока службы отдельного пода. Администратор кластера может статически создать PersistentVolume, или сервер API Kubernetes может динамически создавать его с помощью классов хранилища . Pv — это ресурс в кластере так же, как узел является ресурсом кластера. PVs имеют жизненный цикл независимо от любого отдельного Pod, использующего PV.

Запросы на постоянный том

Запрос постоянного тома (PVC) требует хранения определенного StorageClass, в определенном режиме доступа и размера. PVC действует как проверка для заявки на ресурс хранения. Сервер API Kubernetes может динамически подготавливать базовый ресурс хранилища, если существующий ресурс не может выполнить утверждение на основе определенного класса хранилища.

StorageClass предоставляет администраторам способ описания "классов" хранилища, которые они предлагают. Различные классы могут сопоставляться с уровнями обслуживания или политиками резервного копирования или произвольными политиками, определенными администраторами кластера. Kubernetes сам по себе не диктует, что должны представлять классы.

Когда сервер API Kubernetes назначает доступный ресурс хранилища pod, запрашивающему хранилище, ПВ связывается с ПВХ. Постоянные тома представляют собой соответствие один к одному с запросом на постоянный том.