Category Archives: DevOps

Ресурсы Kubernetes

Автор Itworkroom
k8s

Ресурсы Kubernetes
Namespace* (ns) — позволяет организовывать ресурсы в неперекрывающиеся группы (для каждого потребителя ресурсов).

Развертывающие рабочие нагрузки
Pod (po) — основная развертываемая единица, содержащая один или более процессов в расположенных рядом контейнерах. Метки (Labels).
ReplicaSet — поддерживает одну или несколько реплик модуля.
ReplicationController (rc) [v1] – устаревший и менее функциональный эквивалент ресурса ReplicaSet.
Job — запускает модули, выполняющие завершаемую задачу.
CronJob [batch] — запускает назначаемое задание один раз или периодически.
DaemonSet (ds) — запускает одну реплику модуля в расчете на узел (на всех узлах или только на тех, которые соответствуют селектору узлов).
StatefulSet (sts) — запускает модули, имеющие внутреннее состояние, со стабильной идентичностью.
Deployment (deploy) — декларативное развертывание и обновление модулей.

Службы
Service (svc) [v1] — предоставляет доступ к одному или нескольким модулям на одной и стабильной паре IP-адреса и порта.
Endpoints (ep) — определяет, к каким модулям (или другим серверам) предоставляется доступ через службу.
NodePort — открывает сервис на том же порту каждого выбранного узла в кластере с помощью NAT. Делает сервис доступным вне кластера через :.
Ingress (ing) [extensions] — предоставляет внешним клиентам доступ к одной или нескольким службам через один доступный извне IP-адрес.

Конфигурация
ConfigMap (cm)  — словарь в формате «ключ-значение» для хранения незащищенных параметров конфигурации приложений и предоставления им доступа к ним.
Secret [v1] — словарь в формате «ключ-значение» для хранения конфиденциальных данных. (далее…)

Node (Узел) в Kubernetes: полное руководство

Автор Itworkroom

1. Что такое Node в Kubernetes?

Node (узел) — это физическая или виртуальная машина, которая является рабочей единицей в кластере Kubernetes. На узлах запускаются поды (pods) — минимальные исполняемые единицы в Kubernetes.

Каждый узел входит в состав кластера и управляется Control Plane (главным управляющим узлом).

2. Типы узлов

2.1. Worker Node (Рабочий узел)

  • Запускает поды с приложениями.
  • Выполняет задачи, переданные от Control Plane.
  • Может быть физическим сервером или виртуальной машиной.

(далее…)

Облачное объектное хранилище S3 для Kubernetes

Автор Itworkroom

Облачные объектные хранилища, стали неотъемлемой частью современной IT-инфраструктуры, особенно при работе с Kubernetes. В Казахстане и Узбекистане спрос на локальные S3-решения растёт благодаря требованиям к закону о данных, низким задержкам и удобной оплате в тенге/сумах.

1. Обзор Servercore S3 Storage

Servercore предоставляет высокопроизводительное объектное хранилище S3, идеально подходящее для интеграции с Kubernetes. Ключевые преимущества:

  • Полная совместимость с AWS S3 API
  • Поддержка TLS/SSL для безопасного доступа
  • Высокая доступность (99.9% SLA)
  • Гибкие тарифные планы с оплатой за фактическое использование

2. Подготовка к интеграции

2.1. Получение учетных данных

  1. Создайте бакет в панели управления Servercore
  2. Получите:
    • Endpoint URL (например, https://s3.servercore.cloud)
    • Access Key ID
    • Secret Access Key
  3. Настройте политики доступа для бакета

(далее…)

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 позволяет устанавливать следующие типы ограничений: (далее…)