Настройка Helm
В этом руководстве рассматриваются параметры конфигурации для развертываний ClickStack через Helm. Для базовой установки см. основное руководство по развертыванию Helm.
Настройка API-ключа
После успешного развертывания ClickStack настройте API-ключ для сбора телеметрических данных:
- Откройте экземпляр HyperDX через настроенный входной шлюз или конечную точку сервиса
- Войдите в панель управления HyperDX и перейдите в раздел Team settings, чтобы сгенерировать или получить API-ключ
- Обновите развертывание, добавив API-ключ одним из следующих способов:
Способ 1: обновление через helm upgrade с файлом values
Добавьте API-ключ в файл values.yaml:
Затем обновите развертывание:
Метод 2: Обновление через helm upgrade с флагом --set
Перезапустите поды, чтобы применить изменения
После обновления ключа API перезапустите поды, чтобы применить новую конфигурацию:
Чарт автоматически создаёт секрет Kubernetes (<release-name>-app-secrets) с вашим API-ключом. Дополнительная настройка секрета не требуется, если вы не планируете использовать внешний секрет.
Управление секретами
Для работы с конфиденциальными данными, такими как API-ключи или учетные данные для доступа к базе данных, используйте секреты Kubernetes.
Использование предварительно настроенных секретов
Helm-чарт включает шаблон секрета по умолчанию, расположенный по адресу charts/clickstack/templates/secrets.yaml. Этот файл задаёт базовую структуру для управления секретами.
Если вам нужно вручную применить секрет, измените и примените предоставленный шаблон secrets.yaml:
Примените секрет к кластеру:
Создание пользовательского секрета
Создайте вручную пользовательский секрет Kubernetes:
Ссылка на Secret в values.yaml
Настройка входного шлюза
Чтобы открыть доступ к интерфейсу и API HyperDX по доменному имени, включите конфигурацию входного шлюза в файле values.yaml.
Общая конфигурация входного шлюза
Значение hyperdx.frontendUrl должно совпадать с именем хоста входного шлюза и включать протокол (например, https://hyperdx.yourdomain.com). Это обеспечивает корректную работу всех сгенерированных ссылок, куки и перенаправлений.
Включение TLS (HTTPS)
Чтобы защитить развертывание с помощью HTTPS:
1. Создайте секрет TLS с вашим сертификатом и ключом:
2. Включите TLS в конфигурации входного шлюза:
Пример конфигурации входного шлюза
Для наглядности ниже показан сгенерированный ресурс входного шлюза:
Частые проблемы с входным шлюзом
Конфигурация пути и переписывания (rewrite):
- Для Next.js и других SPA (одностраничных приложений) всегда используйте путь в виде регулярного выражения и аннотацию переписывания, как показано выше
- Не используйте просто
path: /без переписывания, так как это нарушит раздачу статических ресурсов
Несоответствие frontendUrl и ingress.host:
- Если они не совпадают, вы можете столкнуться с проблемами с куки, перенаправлениями и загрузкой ресурсов
Ошибочная конфигурация TLS:
- Убедитесь, что ваш секрет TLS действителен и корректно указан во входном шлюзе
- Браузеры могут блокировать небезопасный контент, если вы обращаетесь к приложению по HTTP при включённом TLS
Версия контроллера Ingress:
- Некоторые возможности (например,
regex-пути и правила переписывания) требуют более новых версий контроллера nginx Ingress - Проверьте вашу версию командой:
Входной шлюз для OTel collector
Если вам необходимо опубликовать конечные точки OTel collector (для трассировок, метрик и логов) через входной шлюз, используйте конфигурацию additionalIngresses. Это полезно для отправки телеметрических данных из‑вне кластера или при использовании пользовательского домена для collector.
- Это создаёт отдельный ресурс входного шлюза для конечных точек OTel collector
- Вы можете использовать другой домен, настроить отдельные параметры TLS и применить пользовательские аннотации
- Правило пути с использованием регулярного выражения позволяет направлять все сигналы OTLP (traces, metrics, logs) через одно правило
Если вам не нужно открывать OTel collector во внешний доступ, вы можете пропустить эту конфигурацию. Для большинства пользователей достаточно общей настройки входного шлюза.
Диагностика проблем с входным шлюзом
Проверьте ресурс входного шлюза:
Проверьте логи контроллера входного шлюза:
Тестовые URL-адреса ресурсов:
Используйте curl, чтобы проверить, что статические ресурсы отдаются как JavaScript, а не как HTML:
Инструменты разработчика браузера:
- Проверьте вкладку Network (или «Сеть») на наличие 404 или ресурсов, которые возвращают HTML вместо JS
- Ищите в консоли ошибки вида
Unexpected token <(указывает на то, что вместо JS возвращается HTML)
Проверьте переписывание путей:
- Убедитесь, что входной шлюз не обрезает и не переписывает некорректно пути к статическим ресурсам
Очистите кэш браузера и CDN:
- После изменений очистите кэш браузера и кэш CDN/прокси, чтобы избежать использования устаревших версий ресурсов
Настройка значений
Параметры можно настроить с помощью флагов --set:
Или создайте собственный файл values.yaml. Чтобы получить значения по умолчанию:
Пример конфигурации:
Примените собственные значения:
Дальнейшие шаги
- Варианты развертывания — внешние системы и минимальные развертывания
- Облачные развертывания — конфигурации GKE, EKS и AKS
- Основное руководство по Helm — базовая установка