Category Archives: k8s

PersistentVolumeClaim (PVC) в Kubernetes

Автор Itworkroom

1. Основные концепции хранения в Kubernetes

1.1 Архитектура хранения данных

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

  • PersistentVolume (PV)
    • ресурс кластера, представляющий физическое хранилище
  • PersistentVolumeClaim (PVC)
    • запрос пользователя на выделение хранилища
  • StorageClass
    • описание «класса» хранилища и способа его provisioning
[Физическое хранилище][PersistentVolume][PersistentVolumeClaim][Pod]

1.2 Жизненный цикл PVC

  1. Пользователь создаёт PVC с указанием требований
  2. Kubernetes находит подходящий PV или создаёт новый (динамический provisioning)
  3. PVC привязывается к PV
  4. Pod монтирует PVC как volume
  5. После удаления PVC ресурс может быть освобождён или сохранён (в зависимости от политики)

(далее…)

LimitRange в Kubernetes: Управление ресурсами и оптимизация производительности

Автор Itworkroom

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

Что такое LimitRange?

LimitRange — это ресурс Kubernetes, который позволяет устанавливать минимальные и максимальные ограничения на использование ресурсов (таких как CPU и память) для контейнеров и pod в определенном namespace. Это помогает предотвратить перегрузку узлов и обеспечивает справедливое распределение ресурсов между различными приложениями и пользователями. (далее…)

Ingress в Kubernetes: управление входящим трафиком и маршрутизация

Автор Itworkroom

Ingress в Kubernetes — это мощный ресурс, который позволяет управлять входящим трафиком к приложениям, развернутым в кластере. Ingress предоставляет возможность маршрутизации HTTP(S)-запросов к различным сервисам, на основе правил, определенных в Ingress-ресурсах. В этой статье мы рассмотрим, что такое Ingress, как его настроить и использовать, а также лучшие практики для его применения.

Что такое Ingress?

Ingress — это объект Kubernetes, который управляет внешним доступом к сервисам в кластере, обычно через HTTP и HTTPS. Ingress позволяет определять правила маршрутизации, которые определяют, как входящие запросы должны быть направлены к соответствующим сервисам. Это особенно полезно для управления множеством микросервисов, развернутых в одном кластере. (далее…)

Deployment в Kubernetes

Автор Itworkroom

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

Основные компоненты Deployment

  1. ReplicaSet: deployment управляет ReplicaSet, который, в свою очередь, управляет созданием и удалением pod. ReplicaSet гарантирует, что заданное количество реплик pod всегда работает.
  2. Pod Template: шаблон pod определяет конфигурацию контейнеров, которые будут запущены в каждом pod. Это включает в себя образы контейнеров, порты, переменные окружения и другие параметры.
  3. Стратегии обновления: deployment поддерживает стратегии обновления, такие как RollingUpdate и Recreate, которые определяют, как будут обновляться pod при изменении конфигурации.
  4. Селекторы используются для определения, какие pod управляются Deployment. Это позволяет Deployment отслеживать и управлять только теми pod, которые соответствуют заданным меткам.

(далее…)

Управление конфигурацией приложений ConfigMap в Kubernetes

Автор Itworkroom

Что такое ConfigMap?

ConfigMap — это ресурс Kubernetes, предназначенный для хранения неконфиденциальных данных конфигурации в виде пар “ключ-значение”. Эти данные могут включать в себя параметры конфигурации, настройки окружения, конфигурационные файлы и другие данные, которые необходимы приложению для корректной работы. ConfigMap позволяет отделить конфигурационные данные от образов контейнеров, что облегчает управление и обновление конфигурации без необходимости пересборки контейнеров. (далее…)