Category Archives: DevOps
Что такое ConfigMap?
ConfigMap — это ресурс Kubernetes, предназначенный для хранения неконфиденциальных данных конфигурации в виде пар “ключ-значение”. Эти данные могут включать в себя параметры конфигурации, настройки окружения, конфигурационные файлы и другие данные, которые необходимы приложению для корректной работы. ConfigMap позволяет отделить конфигурационные данные от образов контейнеров, что облегчает управление и обновление конфигурации без необходимости пересборки контейнеров. (далее…)
За пределами модулей: раскрываем потенциал заданий Kubernetes для сложных рабочих нагрузок
Поды Kubernetes — это «рабочие лошадки» платформы, но они не всегда являются лучшим инструментом для каждой задачи. Для задач, которые являются конечными, независимыми и не требуют постоянного состояния, Kubernetes Jobs предлагают более совершенный подход, предоставляя надёжные механизмы для управления и мониторинга этих критически важных рабочих нагрузок. В этой статье рассматриваются нюансы использования Kubernetes Jobs помимо простой пакетной обработки, а также передовые методы и сценарии использования. (далее…)
Kubernetes предоставляет мощные инструменты для управления контейнеризированными приложениями, обеспечивая их масштабируемость, надежность и автоматизацию. Одним из таких инструментов является CronJob, который позволяет запускать задачи по расписанию, аналогично традиционным cron-задачам в Unix-системах. В этой статье мы рассмотрим, как использовать CronJob в Kubernetes для автоматизации повторяющихся задач, их настройку и лучшие практики.
Что такое CronJob в Kubernetes?
CronJob в Kubernetes — это ресурс, который позволяет запускать контейнеры по заданному расписанию. Он основан на стандартном формате cron-выражений, что делает его интуитивно понятным для тех, кто уже работал с cron в Unix-системах. CronJob создает задачи (Jobs), которые выполняют определенные действия в указанное время. (далее…)
Обеспечение надежности и масштабируемости: освоение наборов реплик Kubernetes
В динамичном мире оркестрации контейнеров Kubernetes выделяется как мощный инструмент для управления контейнерными приложениями. Одной из его ключевых особенностей является ReplicaSet — механизм, предназначенный для обеспечения запуска определённого количества реплик модуля в любой момент времени. В этой статье рассматриваются тонкости использования ReplicaSet в Kubernetes, подчёркивается их важность, функциональность и рекомендации по эффективному использованию.
Понимание наборов реплик
Набор реплик в Kubernetes отвечает за поддержание стабильного набора реплицируемых модулей, работающих в любой момент времени. Он обеспечивает работу необходимого количества модулей и автоматически заменяет любые модули, которые выходят из строя, завершают работу или удаляются. Это делает наборы реплик критически важными для обеспечения надёжности и доступности ваших приложений.
Ключевые концепции наборов реплик
- Желаемое состояние: ReplicaSet определяет желаемое состояние для количества реплик модуля. Kubernetes постоянно работает над приведением текущего состояния в соответствие с желаемым, обеспечивая постоянную работу указанного количества модулей.
- Шаблон модуля: набор реплик включает шаблон модуля, который определяет конфигурацию управляемых им модулей. Этот шаблон содержит такие сведения, как образы контейнеров, метки и другие характеристики модулей.
- Селектор: ReplicaSet использует селектор меток для определения того, какими модулями он должен управлять. Этот селектор гарантирует, что ReplicaSet управляет только модулями, соответствующими указанным меткам.
Горизонтальное автомасштабирование модуля
Горизонтальное автомасштабирование модуля – это автоматическое масштабирование количества реплик модуля, управляемых контроллером. Оно выполняется горизонтальным контроллером, который активируется и конфигурируется путем создания ресурса HorizontalPodAutoscaler (HPA). Данный контроллер периодически проверяет метрики модуля, вычисляет количество реплик, необходимое для соответствия целевому значению метрики, сконфигурированной в ресурсе HorizontalPodAutoscaler, и настраивает поле replicas на целевом ресурсе (развертывании Deployment, наборе реплик ReplicaSet, контроллере репликации ReplicationController или наборе модулей с внутренним состоянием StatefulSet)
Процесс автомасштабирования
Процесс автомасштабирования можно разделить на три этапа:
- получение метрик всех модулей, управляемых масштабируемым ресурсным объектом;
- расчёт количества модулей, необходимого для приведения метрик к указанному целевому значению (или близкому к нему);
- обновление поля replicas масштабируемого ресурса. Далее мы рассмотрим все три этапа
Получение метрик модуля
Автопреобразователь масштаба сам не выполняет сбор метрик модуля. Он получает метрики из другого источника. Метрики модуля и узла собираются агентом под названием cAdvisor, который выполняется в Kubelet на каждом узле, а затем агрегируется кластерным компонентом под названием Heapster. Контроллер автопреобразователя горизонтального масштаба модуля получает метрики всех модулей, запрашивая агрегатор Heapster посредством вызовов REST.
0