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

Transcoder.API

Введение

Версия чарта: 260521.213.3121 OCI-репозиторий: cr.yandex/crpt9c7igqasaqddbg0p/backend/transcoder/api/charts/transcoder-api Ingress: transcoder.medikt.net (управляется через Terraform) Важно: Управление Ingress для всех сервисов осуществляется через Terraform. Параметр ingress.enabled должен быть установлен в false в values.yaml.

Введение

transcoder-api — это gRPC сервис, который является conductor'ом для процесса транскодирования видео. Сервис обрабатывает запросы на создание и управление задачами транскодирования, взаимодействует с Yandex Cloud Video, EdgeCenter и другими компонентами системы.

Важно: Ingress для этого сервиса управляется через Terraform модуль medikt-infra (параметр nginx_ingress_medikt_transcoder_api).

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

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

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

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

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

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

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

Установка

helm install medikt-transcoder-api ./charts/transcoder-api \
--namespace prod \
--values ./values/transcoder-api_prod.yaml \
--create-namespace

Обновление

helm upgrade medikt-transcoder-api ./charts/transcoder-api \
--namespace prod \
--values ./values/transcoder-api_prod.yaml

Удаление

helm uninstall medikt-transcoder-api --namespace prod

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

Основные параметры (заданы в чарте)

EdgeCenter

ПараметрТипПо умолчаниюОписание
edgeCenter.baseUrlstringhttps://api.edgecenter.ru/streamingBase URL EdgeCenter API
edgeCenter.webhookKeystring(в values.yaml)Ключ для webhook
edgeCenter.customCdnHoststringне применимоКастомный CDN хост только для девелоперских окружений

Volumes

Имя volumeТипMount pathОписание
transcoder-dataemptyDir/var/lib/transcoderВременное хранилище
appsettings-volumeconfigMap/app/appsettings.environment.jsonКонфигурация приложения
appsettings-commonconfigMap/app/appsettings.common.jsonОбщая конфигурация для сервисов группы transcoder

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

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

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

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

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

# Проверка сервиса
kubectl get svc -n prod medikt-transcoder-api

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