Конфигурация Helm (v1.x)
На этой странице описана конфигурация inline-template Helm-чарта v1.x, который находится в режиме поддержки. Сведения о чарте v2.x см. в разделе Конфигурация Helm. Инструкции по миграции см. в руководстве по обновлению.
В этом руководстве рассматриваются настройки для Helm-развертываний ClickStack. Сведения о базовой установке см. в основном руководстве по развертыванию 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 вручную:
Указание секрета в values.yaml
Настройка входного шлюза
Чтобы открыть доступ к интерфейсу HyperDX и API по доменному имени, включите входной шлюз в файле values.yaml.
Общие настройки входного шлюза
hyperdx.frontendUrl должен совпадать с хостом входного шлюза и включать протокол (например, https://hyperdx.yourdomain.com). Это гарантирует корректную работу всех создаваемых ссылок, файлов cookie и перенаправлений.
Включение TLS (HTTPS)
Чтобы защитить развертывание с помощью HTTPS:
1. Создайте TLS-секрет с сертификатом и ключом:
2. Включите TLS в конфигурации входного шлюза:
Пример конфигурации входного шлюза
Для справки ниже показано, как выглядит сгенерированный ресурс входного шлюза:
Типичные проблемы с входным шлюзом
Настройка пути и rewrite:
- Для Next.js и других SPA всегда используйте путь Regex и аннотацию rewrite, как показано выше
- Не используйте только
path: /без rewrite, иначе нарушится раздача статических ресурсов
Несоответствие frontendUrl и ingress.host:
- Если они не совпадают, возможны проблемы с cookie, перенаправлениями и загрузкой ресурсов
Неправильная настройка TLS:
- Убедитесь, что секрет TLS действителен и правильно указан во входном шлюзе
- Браузеры могут блокировать небезопасный контент, если вы открываете приложение по HTTP при включенном TLS
Версия контроллера входного шлюза:
- Некоторые возможности (например, пути Regex и rewrite) требуют свежих версий контроллера входного шлюза nginx
- Проверьте версию командой:
Входной шлюз для OTel collector
Если вам нужно предоставить доступ к конечным точкам вашего OTel collector (для трейсов, метрик и логов) через входной шлюз, используйте конфигурацию additionalIngresses. Это полезно, если вы отправляете телеметрические данные извне кластера или используете для collector собственный домен.
- При этом создается отдельный ресурс входного шлюза для конечных точек OTel collector
- Вы можете использовать другой домен, настроить конкретные параметры TLS и добавить пользовательские аннотации
- Правило пути Regex позволяет направлять все сигналы OTLP (трейсы, метрики, логи) через одно правило
Если вам не нужно открывать OTel collector для внешнего доступа, эту конфигурацию можно пропустить. Для большинства пользователей достаточно общей настройки входного шлюза.
Устранение неполадок входного шлюза
Проверьте ресурс входного шлюза:
Проверьте логи контроллера входного шлюза:
Тестовые URL-адреса ресурсов:
Используйте curl, чтобы проверить, что статические ресурсы отдаются как JS, а не как HTML:
Инструменты разработчика в браузере:
- Проверьте вкладку Network: нет ли ответов 404 или ресурсов, для которых вместо JS возвращается HTML
- Проверьте, нет ли в консоли ошибок вроде
Unexpected token <(это означает, что вместо JS вернулся HTML)
Проверьте переписывание путей:
- Убедитесь, что входной шлюз не удаляет части путей к ресурсам и не переписывает их некорректно
Очистите кэш браузера и CDN:
- После внесения изменений очистите кэш браузера и кэш CDN/прокси, чтобы избежать использования устаревших ресурсов
Настройка значений
Вы можете изменить настройки с помощью флагов --set:
Либо создайте собственный values.yaml. Чтобы получить значения по умолчанию:
Пример конфигурации:
Примените собственные значения:
Следующие шаги
- Варианты развёртывания (v1.x) — Внешние системы и минимальные развёртывания
- Развёртывание в Cloud (v1.x) — Конфигурации GKE, EKS и AKS
- Основное руководство по Helm (v1.x) — Базовая установка
- Конфигурация Helm (v2.x) — Руководство по настройке v2.x
- Руководство по обновлению — Миграция с v1.x на v2.x