Что такое Kubernetes?
Несогласованный дизайн микрослужб в сочетании с атомарностью контейнеров позволяет масштабировать приложения, реагирующие на спрос. В сложных решениях, таких как приложение для отслеживания дронов, процесс развертывания, обновления, мониторинга и удаления контейнеров вызывает проблемы.
Прежде чем ознакомиться с тем, что происходит в Kubernetes, необходимо понимать два понятия: управление контейнерами и оркестраторы.
Что такое управление контейнерами?
Управление контейнерами — это процесс организации, добавления, удаления или обновления значительного количества контейнеров.
Приложение для отслеживания дронов состоит из нескольких микрослужб, ответственных за задачи, такие как кэширование, очередь или обработка данных. Каждая из этих служб размещается в контейнере, который развертывается, обновляется и масштабируется независимо друг от друга.
Например, с веб-сайтом приложения для отслеживания беспилотных летательных аппаратов вы обнаружите, что требуется больше экземпляров службы кэширования сайта для поддержания производительности в течение определенного времени дня, поэтому вы добавляете дополнительные экземпляры контейнеров службы кэширования.
Затем предположим, что вы увеличили количество экземпляров кэширования и должны развернуть новую версию микрослужбы. Чтобы использовать новую версию, необходимо обновить все активные контейнеры.
Управление контейнерами помогает выполнять эти повторяющиеся задачи вручную.
Что такое оркестратор контейнеров?
Оркестратор контейнеров — это система, которая автоматически развертывает контейнерные приложения и управляет ими. В рамках управления оркестратор обрабатывает динамические изменения в среде для увеличения или уменьшения числа развернутых экземпляров приложения. Кроме того, все развернутые экземпляры контейнеров обновляются при выпуске новой версии службы.
Определение Kubernetes
Kubernetes — это переносимая расширяемая платформа с открытым кодом для управления и оркестрации контейнерных рабочих нагрузок. Kubernetes упрощает сложные задачи управления контейнерами и предоставляет декларативную конфигурацию для оркестрации контейнеров в разных вычислительных средах. Эта платформа оркестрации обеспечивает ту же простоту использования и гибкости, что и вы уже знаете от платформы как службы (PaaS) или инфраструктуры как услуги (IaaS).
Преимущества Kubernetes
Преимущества использования Kubernetes основаны на абстракции задач.
Эти задачи включают:
Самовосстановление контейнеров; Например, перезапуск контейнеров, которые завершаются сбоем или заменяют контейнеры
Динамическое масштабирование развернутого контейнера в зависимости от спроса
Автоматизация последовательного обновления и откатов контейнеров
Управление хранилищем
Управление сетевым трафиком
Хранение конфиденциальных данных и управление ими, такими как имена пользователей и пароли
Внимание
Помните, что для всех перечисленных выше аспектов Kubernetes требуется настройка и хорошее понимание базовых технологий. Например, для настройки сети Kubernetes необходимо понимать, что такое виртуальные сети, подсистемы балансировки нагрузки и обратные прокси-серверы.
Рекомендации по Kubernetes
Kubernetes позволяет представить центр обработки данных как один компьютерный ресурс. Вам не нужно беспокоиться о том, как и где развертывать контейнеры, только о развертывании и масштабировании приложений по мере необходимости.
Однако важно понимать, что при установке Kubernetes вы не получаете сразу все компоненты, необходимые для управления контейнерным решением и его оркестрации.
Компоненты, отвечающие за такие аспекты, как развертывание, масштабирование, балансировка нагрузки, ведение журналов и мониторинг, добавляются по мере необходимости. Ваша задача — подобрать оптимальное решение в соответствии с вашими потребностями.
Kubernetes не накладывает ограничений на типы приложений, которые могут выполняться на платформе. Если приложение может выполняться в контейнере, оно может выполняться и в Kubernetes. Для оптимального использования контейнерных решений разработчики должны разбираться в таких концепциях, как архитектура микрослужб.
Kubernetes не предоставляет по промежуточному слоям, платформам обработки данных, базам данных, кэшам или системам хранения кластеров. Все эти компоненты добавляются как контейнеры или в составе другого предложения.
Для запуска контейнеров Kubernetes требуется среда выполнения контейнеров, например Docker или контейнер. Среда выполнения контейнеров — это объект, отвечающий за управление контейнерами. Например, среда выполнения контейнеров запускается, останавливается и сообщает о состоянии контейнера.
Вы занимаетесь обслуживанием среды Kubernetes. Например, вам необходимо управлять обновлением ОС, а также установкой и обновлением самой платформы Kubernetes. Кроме того, вы управляете конфигурацией оборудования узлов, в том числе сетевого оборудования, памяти и хранилища.
Облачные службы, такие как Служба Azure Kubernetes (AKS), сокращают эти проблемы, предоставляя размещенную среду Kubernetes. Эти службы также упрощают развертывание контейнерных приложений и управление ими в Azure. Благодаря AKS вы получаете преимущества платформы Kubernetes с открытым кодом и при этом избегаете сложностей и временных затрат, связанных с управлением собственным кластером Kubernetes.
Примечание.
Kubernetes иногда сокращенно обозначается K8s. Цифра 8 обозначает 8 символов между буквами "K" и "s" в слове K[ubernete]s.