В этой статье разберу установку с минимальными усилиями с использованием Helm и локального однонодового кластера Kubeadm.
Создаём кластер:

Добавляем и обновляем репо с Langfuse:
helm repo add langfuse https://langfuse.github.io/langfuse-k8s helm repo update
Создаём файл values.override.yaml для переопределения настроек helm-приложения под свои нужды и возможности. Можно не добавлять секцию additionalEnv как в примере, но тогда вручную придётся добавлять пользователя и создавать новый проект. Мне подошли такие значения:
langfuse: salt: value: «salt» nextauth: secret: value: «nextauth-secret» resources: limits: cpu: «1» memory: «2Gi» requests: cpu: «1» memory: «2Gi» web: pod: additionalEnv: — name: LANGFUSE_INIT_ORG_ID value: «1» — name: LANGFUSE_INIT_ORG_NAME value: «example» — name: LANGFUSE_INIT_PROJECT_ID value: «1» — name: LANGFUSE_INIT_PROJECT_NAME value: «example proj» — name: LANGFUSE_INIT_PROJECT_PUBLIC_KEY value: pk-lf-3a1ae631-eb38-4b14-ae81-c0adfe517cab — name: LANGFUSE_INIT_PROJECT_SECRET_KEY value: sk-lf-a4279b11-2c10-4bad-b9a2-a6e967360869 — name: LANGFUSE_INIT_USER_EMAIL value: admin@example.com — name: LANGFUSE_INIT_USER_NAME value: admin — name: LANGFUSE_INIT_USER_PASSWORD value: password postgresql: auth: username: langfuse password: «password» clickhouse: auth: password: «password» resources: limits: cpu: «1» memory: «2Gi» requests: cpu: «1» memory: «2Gi» redis: auth: password: «password» primary: resources: limits: cpu: «0.5» memory: «1Gi» requests: cpu: «0.5» memory: «1Gi» s3: auth: rootPassword: «password» resources: limits: cpu: «1» memory: «1Gi» requests: cpu: «1» memory: «1Gi» zookeeper: resources: limits: cpu: «1» memory: «2Gi» requests: cpu: «1» memory: «2Gi»
Выполняем команду установки из папки, где находится yaml-файл:
helm install langfuse langfuse/langfuse -f values.override.yaml
Далее ждём… пока все поды запустятся

Для доступа к ui-интерфейсу пробросим порт:
kubectl port-forward svc/langfuse-web 3333:3000
Логинимся с заранее установленными кредами в переменных LANGFUSE_INIT_USER_EMAIL и LANGFUSE_INIT_USER_PASSWORD:

Для удаления приложения:
helm uninstall langfuse
Важно! После удаления ресурсы Persistent Volume Claims (PVCs) остаются не тронутыми. Поэтому, если заново установить langfuse, в интерфейсе увидим, что данные которые были до удаления никуда не делись.
Для полной очистки выполним дополнительно команду:
kubectl delete pvc -l «app.kubernetes.io/instance=langfuse»
Кстати, при развертывании Langfuse в боевом k8s, я столкнулся с ошибкой запуска компонента langfuse-web, связанной с миграциями в БД ClickHouse: error: Dirty database version XX. Fix and force version. Хотя этот случай даже описан на официальном сайте, я решил проблему проще, переустанавливая приложение с полной очисткой несколько раз, до того момента, когда все миграции наконец прошли и все поды успешно запустились.
Источник: habr.com























