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] — словарь в формате «ключ-значение» для хранения конфиденциальных данных. (далее…)

Kubernetes (k8s) RoleBinding

Автор Itworkroom

В контексте Kubernetes (k8s) RoleBinding — это объект API, который предоставляет права, определённые в Role или ClusterRole, конкретному пользователю, группе пользователей или сервисному аккаунту в пределах определённого пространства имён (namespace).

Простыми словами: RoleBinding связывает «кто» (субъект) с «что можно делать» (роль).

Ключевые понятия

  1. Role (Роль): Набор правил, определяющих, какие действия (verbs: get, list, create, delete) разрешены над какими ресурсами (pods, services, deployments). Role действует только в рамках одного namespace.
  2. ClusterRole (Кластерная роль): Аналогична Role, но действует на уровне всего кластера. Используется для:
    • Ресурсов, не привязанных к namespace (например, nodespersistentvolumes).
    • Разрешения доступа к эндпоинтам API (например, /healthz).
    • Предоставления одинаковых прав во всех namespace сразу (если привязать через RoleBinding).
  3. RoleBinding (Привязка роли): Связывает Role с субъектами внутри одного namespace.
  4. ClusterRoleBinding (Кластерная привязка роли): Связывает ClusterRole с субъектами на уровне всего кластера.

(далее…)

Настройка RBAC через ClusterRoleBinding

Автор Itworkroom

В контексте описанной выше интеграции критически важно правильно разграничить доступ к Kubernetes-кластеру. Аутсорсинговая команда не должна иметь полный доступ ко всем неймспейсам — это риск безопасности. Используем ClusterRoleBinding и RoleBinding в связке с ServiceAccount или внешними identity-провайдерами (OIDC).

Сценарий

  • Есть аутсорсинговая DevOps-команда, которая управляет CI/CD, мониторингом и слаботочной инфраструктурой (IoT Hub).
  • Им нужен доступ только к определённым неймспейсам (monitoringiot-hubci-cd) с возможностью просмотра подов, логов, запуска отладки.
  • Доступ к нодам, secrets (кроме их собственных) и критическим компонентам (kube-system) — запрещён.

Решение: ClusterRole + ClusterRoleBinding (для глобальных прав) и RoleBinding (для неймспейс-специфичных)

Создадим ClusterRole с минимальными правами для чтения ресурсов во всём кластере (например, просмотр нод, storage classes — это бывает нужно для понимания топологии, но без права изменять). А затем через RoleBinding дадим более широкие (например, CRUD подов) только в нужных неймспейсах.
(далее…)

Event в Kubernetes

Автор Itworkroom

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

Что такое Event в Kubernetes?

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

Каждое событие содержит следующую информацию:

  • Время возникновения
  • Источник (например, компонент kubelet, scheduler)
  • Тип события (Normal, Warning)
  • Сообщение, описывающее суть события
  • Объект, к которому оно относится

(далее…)

Как знания DevOps превращают аудит 1С в точную инженерию

Автор Itworkroom
1С

Почему классический аудит 1С часто буксует

Типичный аудит 1С выглядит так: приходит консультант, опрашивает бухгалтеров, кладовщиков и сисадминов, смотрит на код в конфигураторе и выдает «экспертное мнение». Результат — 50 страниц текста, где бизнес-процессы описаны словами «как есть», а рекомендации сводятся к общим фразам.

Проблема в том, что бизнес-процессы и код 1С — это две разные вселенные . Бизнес говорит: «У нас долго проводится документ». Разработчик 1С отвечает: «У меня запрос выполняется 2 секунды». DevOps-инженер видит третью картину: блокировки, неоптимальные индексы, кривые обмены и отсутствие метрик.

Знания DevOps (системное мышление, автоматизация, работа с логами, CI/CD, мониторинг) позволяют провести аудит 1С не как «опрос пользователей», а как инженерный анализ системы . Результат — не просто «отчет», а готовый план действий с цифрами, сроками и стоимостью. (далее…)