Notification.API
Введение
Версия чарта: 260720.68.1064
OCI-репозиторий: cr.yandex/crpt9c7igqasaqddbg0p/backend/notification.api/charts/notification-api
Ingress: notification.medikt.net (управляется через Terraform)
Важно: Управление Ingress для всех сервисов осуществляется через Terraform. Параметр ingress.enabled должен быть установлен в false в values.yaml.
Необходимые Secret'ы
Для развертывания чарта notification-api необходимы следующие Secret'ы:
ConfigMap генерируется автоматически из шаблона charts/notification-api/templates/configmap.yaml на основе значений из values.yaml.
Получение чарта из OCI-репозитория
Команда для скачивания и распаковки чарта:
helm pull oci://cr.yandex/crpt9c7igqasaqddbg0p/backend/notification.api/charts/notification-api \
--version 260720.68.1064 \
--untar --untardir ./charts
Развертывание с помощью Helm
Установка чарта
helm install medikt-notification-api ./charts/notification-api \
--namespace prod \
--create-namespace \
-f ./charts/values/notification-api_prod.yaml
Обновление чарта
helm upgrade medikt-notification-api ./charts/notification-api \
--namespace prod \
-f ./charts/values/notification-api_prod.yaml
Удаление чарта
helm uninstall medikt-notification-api --namespace prod
Конфигурация
Основные параметры values.yaml
| Параметр | Значение по умолчанию | Описание |
|---|---|---|
dotnet_environment | Staging | Environment для .NET приложения (рекомендуется Production) |
replicaCount | 2 | Количество реплик Deployment |
image.repository | cr.yandex/crpt9c7igqasaqddbg0p/backend/notification.api/api | OCI-репозиторий для образа |
image.pullPolicy | IfNotPresent | Политика pull образа |
service.type | ClusterIP | Тип Kubernetes Service |
service.http.port | 8080 | Порт HTTP |
service.grpc.port | 8081 | Порт gRPC |
ingress.enabled | true | Включается через Terraform, хост: notification.medikt.net |
CORS конфигурация
cors:
origins:
- "https://medikt.net"
- "https://my.medikt.net"
production values:
dotnet_environment: Production
cors:
origins:
- "https://medikt.net"
- "https://my.medikt.net"
ingress:
enabled: false
Проверка развертывания
Проверка подов
kubectl get pods -n prod -l app.kubernetes.io/name=notification-api
Проверка сервисов
kubectl get svc -n prod -l app.kubernetes.io/name=notification-api
Проверка deployment
kubectl get deployment -n prod medikt-notification-api
Проверка логов
kubectl logs -n prod <pod-name> -f
Health Checks
kubectl port-forward -n prod svc/medikt-notification-api 8080:8080
# Затем открыть http://localhost:8080/healthz/live