Category Archives: DevOps

PodDisruptionBudget (PDB) в Kubernetes: обеспечение доступности приложений

Автор Itworkroom

Что такое PodDisruptionBudget?
PodDisruptionBudget (PDB) — это механизм в Kubernetes, который позволяет администраторам контролировать, сколько подов (pods) приложения могут быть одновременно недоступны во время плановых или внеплановых событий, таких как:
— Обновления узлов (node drain, node upgrades)
— Масштабирование кластера
— Ручное удаление подов (например, `kubectl delete pod`)

PDB гарантирует, что критически важные сервисы останутся работоспособными даже при обслуживании кластера.

Как работает PodDisruptionBudget?
PDB определяет **минимальное количество доступных подов (`minAvailable`) или максимальное количество недоступных подов (`maxUnavailable`) для приложения. (далее…)

ResourceQuota в Kubernetes: управление ресурсами в кластере

Автор Itworkroom

ResourceQuota — это объект Kubernetes, предназначенный для ограничения потребления ресурсов кластера отдельными пространствами имен (namespaces). Его основная цель — предотвратить ситуацию, когда один проект или приложение потребляет чрезмерное количество ресурсов, мешая другим приложениям нормально функционировать.

Как работает ResourceQuota?

При создании пространства имен администратор может задать лимиты на различные ресурсы, такие как CPU, память, хранилище и даже количество объектов (подов, сервисов и др.). Если ресурс превышен, создание новых объектов станет невозможным до тех пор, пока существующие объекты не будут удалены или потребление ресурса не снизится.

Основные виды ограничений

ResourceQuota позволяет устанавливать следующие типы ограничений: (далее…)

Микросервисы на Kubernetes: как управление разработкой iOS могут ускорить бизнес

Автор Itworkroom

k8s-iosВ современном мире цифровых технологий компании стремятся к максимальной эффективности и гибкости. Одним из ключевых направлений для достижения этой цели является переход на микросервисную архитектуру и использование Kubernetes для оркестрации контейнеров. В этой статье мы рассмотрим, как управление разработкой iOS, покупка смартфонов Apple iPhone и внедрение микросервисов на Kubernetes могут ускорить развитие вашего бизнеса и повысить его конкурентоспособность.


Микросервисы как основа гибкой архитектуры

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

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 ресурс может быть освобождён или сохранён (в зависимости от политики)

(далее…)

Что такое RoleBinding

Автор Itworkroom

RoleBinding — это объект Kubernetes, который связывает (привязывает) набор разрешений, определенных в Role или ClusterRole, с конкретными пользователями, группами или сервисными аккаунтами. Проще говоря, RoleBinding «наделяет правами» субъектов в кластере.

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

Система RBAC состоит из трех основных компонентов:

  1. Role/ClusterRole — что можно делать (набор правил)
  2. Subject — кто (пользователь, группа, сервисный аккаунт)
  3. RoleBinding/ClusterRoleBinding — связывает первые два компонента

Role vs ClusterRole

Role

  • Действует в пределах одного namespace

  • Используется для предоставления прав к ресурсам в конкретном namespace

(далее…)