Skip to main content
Version: 1.12-grodno (current)

Transcoder-edgecenter-sync

Версия чарта

Версия чарта: 260521.213.3121 OCI-репозиторий: cr.yandex/crpt9c7igqasaqddbg0p/backend/transcoder/edgecentersync/charts/transcoder-edgecenter-sync

Введение

transcoder-edgecenter-sync — это сервис, который синхронизирует статус видео с EdgeCenter CDN. Сервис проверяет состояние видео на EdgeCenter и обновляет базу данных в случае необходимости (очистка неактуальных данных).

Важно: Ingress для этого сервиса не требуется (работает как background worker).

Необходимые Secret'ы

Для развертывания необходимы следующие Secret'ы:

ConfigMap'ы генерируются автоматически из шаблонов чарта:

  • medikt-transcoder-edgecenter-sync - appsettings.json
  • medikt-transcoder-common - appsettings.common.json (общая конфигурация)

Получение чарта из OCI-репозитория

helm pull oci://cr.yandex/crpt9c7igqasaqddbg0p/backend/transcoder/edgecentersync/charts/transcoder-edgecenter-sync \
--version 260521.213.3121 \
--untar --untardir ./charts

Развертывание

Установка

helm install medikt-transcoder-edgecenter-sync ./charts/transcoder-edgecenter-sync \
--namespace prod \
--values ./values/transcoder-edgecenter-sync_prod.yaml \
--create-namespace

Обновление

helm upgrade medikt-transcoder-edgecenter-sync ./charts/transcoder-edgecenter-sync \
--namespace prod \
--values ./values/transcoder-edgecenter-sync_prod.yaml

Удаление

helm uninstall medikt-transcoder-edgecenter-sync --namespace prod

Конфигурация (values.yaml)

Основные параметры

ПараметрТипПо умолчаниюОписание
dotnet_environmentstringStagingОкружение .NET (Staging/Production)
replicaCountint1Количество реплик (фиксировано)
image.repositorystringcr.yandex/.../edgecentersyncDocker образ
image.pullPolicystringIfNotPresentПолитика pull образа

EdgeCenter

ПараметрТипПо умолчаниюОписание
edgeCenter.baseUrlstringhttps://api.edgecenter.ru/streamingBase URL EdgeCenter API

Нагрузка и масштабирование

ПараметрТипПо умолчаниюОписание
resources.limits.cpustring1000mЛимит CPU
resources.requests.cpustring500mЗапрос CPU

Volumes

Имя volumeТипMount pathОписание
appsettings-volumeconfigMap/app/appsettings.environment.jsonКонфигурация приложения
appsettings-commonconfigMap/app/appsettings.common.jsonshared-конфигурация, деплоится через terraform

Конфигурация affinity

Сервис размещается на нодах с label api_affinity=true.

Примеры значений

Производственная конфигурация (prod)

dotnet_environment: Production

replicaCount: 1

Проверка развертывания

# Проверка статуса релиза
helm list -n prod

# Проверка подов
kubectl get pods -n prod -l app.kubernetes.io/name=transcoder-edgecenter-sync

# Логи пода
kubectl logs -n prod <pod-name> -f

Примечания

  1. Сервис использует exec-based probes для health check (проверка файла /tmp/healthy)
  2. Фиксированное количество реплик (1) - масштабирование не требуется
  3. Сервис регулярно проверяет состояние видео на EdgeCenter CDN
  4. Нагрузка на CPU минимальна (без ограничений по умолчанию)