Helm 구성
이 가이드는 ClickStack Helm 배포를 위한 구성 옵션을 설명합니다. 기본 설치 방법은 주요 Helm 배포 가이드를 참조하십시오.
API 키 설정
ClickStack 배포를 성공적으로 완료한 후 텔레메트리 데이터 수집을 활성화하기 위해 API 키를 구성합니다.
- 구성된 인그레스 또는 서비스 엔드포인트를 통해 HyperDX 인스턴스에 액세스합니다.
- HyperDX 대시보드에 로그인한 후 「Team settings」로 이동하여 API 키를 생성하거나 조회합니다.
- 다음 방법 중 하나를 사용하여 API 키로 배포 구성을 업데이트합니다.
방법 1: values 파일을 사용한 Helm upgrade로 업데이트
values.yaml에 API 키를 추가합니다:
그런 다음 배포를 업그레이드하십시오:
방법 2: helm upgrade 명령과 --set 플래그를 사용하여 업데이트
변경 사항을 적용하기 위해 파드를 재시작하기
API 키를 업데이트한 후, 새로운 구성을 적용하도록 파드를 재시작하십시오:
차트는 API 키가 포함된 Kubernetes 시크릿(<release-name>-app-secrets)을 자동으로 생성합니다. 외부 시크릿을 사용하려는 경우가 아니라면 추가적인 시크릿 구성은 필요하지 않습니다.
시크릿 관리
API 키, 데이터베이스 자격 증명 등과 같은 민감한 데이터는 Kubernetes 시크릿으로 관리합니다.
사전 구성된 시크릿 사용
Helm 차트에는 기본 시크릿 템플릿이 charts/clickstack/templates/secrets.yaml에 포함되어 있습니다. 이 파일은 시크릿 관리를 위한 기본 구조를 제공합니다.
시크릿을 수동으로 적용해야 하는 경우 제공된 secrets.yaml 템플릿을 수정한 후 적용하십시오.
시크릿을 클러스터에 적용하십시오:
사용자 정의 시크릿 생성
사용자 정의 Kubernetes 시크릿을 직접 생성합니다:
values.yaml에서 Secret 참조하기
인그레스 설정
도메인 이름을 통해 HyperDX UI 및 API에 접근할 수 있도록 하려면 values.yaml에서 인그레스를 활성화하십시오.
기본 인그레스 설정
hyperdx.frontendUrl은 인그레스 호스트 이름과 동일해야 하며 프로토콜까지 포함해야 합니다(예: https://hyperdx.yourdomain.com). 이렇게 해야 생성되는 모든 링크, 쿠키, 리디렉션이 올바르게 동작합니다.
TLS(HTTPS) 사용 설정
배포를 HTTPS로 보호하려면 다음을 수행하십시오.
1. 인증서와 키를 사용하여 TLS 시크릿을 생성합니다.
2. 인그레스 구성에서 TLS를 활성화합니다.
인그레스 설정 예시
참고용으로 생성된 인그레스 리소스는 다음과 같습니다:
일반적인 인그레스 구성 함정
경로 및 리라이트(rewrite) 구성:
- Next.js 및 기타 SPA에서는 항상 위에 제시된 것처럼 정규식 경로와 리라이트 애너테이션(annotation)을 사용하십시오.
- 리라이트 없이
path: /만 사용하면 정적 리소스 제공이 동작하지 않게 됩니다.
frontendUrl과 ingress.host 불일치:
- 이 값들이 일치하지 않으면 쿠키, 리다이렉트, 에셋 로딩에 문제가 발생할 수 있습니다.
TLS 구성 오류:
- TLS 시크릿이 올바르며 인그레스에서 정확히 참조되고 있는지 확인하십시오.
- TLS가 활성화된 상태에서 HTTP로 애플리케이션에 접속하면 브라우저가 안전하지 않은 콘텐츠를 차단할 수 있습니다.
인그레스 컨트롤러 버전:
- 일부 기능(정규식 경로 및 리라이트 등)은 최신 버전의 nginx 인그레스 컨트롤러가 필요합니다.
- 다음 명령으로 버전을 확인하십시오.
OTel collector 인그레스
추적, 메트릭, 로그용 OTel collector 엔드포인트를 인그레스를 통해 외부로 노출해야 하는 경우 additionalIngresses 구성을 사용하십시오. 이는 클러스터 외부에서 텔레메트리 데이터를 전송하거나 OTel collector에 사용자 지정 도메인을 사용하려는 경우에 유용합니다.
- 이는 OTel collector 엔드포인트용 별도의 인그레스 리소스를 생성합니다.
- 별도의 도메인을 사용하고, 전용 TLS 설정을 구성하며, 커스텀 어노테이션을 적용할 수 있습니다.
- 정규식 경로 규칙을 사용하면 모든 OTLP 신호(traces, metrics, logs)를 단일 규칙으로 라우팅할 수 있습니다.
OTel collector를 외부로 노출할 필요가 없다면 이 구성은 건너뛰어도 됩니다. 대부분의 사용자에게는 일반 인그레스 설정으로 충분합니다.
인그레스 문제 해결
인그레스 리소스 확인:
인그레스 컨트롤러 로그를 확인하세요:
테스트 에셋 URL:
정적 에셋이 HTML이 아니라 JS로 제공되는지 확인하려면 curl을 사용하십시오:
브라우저 개발자 도구(DevTools):
- Network 탭에서 404 응답이나 JS 대신 HTML을 반환하는 정적 리소스(assets)가 있는지 확인합니다.
- 콘솔에서
Unexpected token <같은 오류를 확인합니다. (JS에 대해 HTML이 반환되었음을 의미합니다.)
경로 재작성 확인:
- 인그레스가 애셋 경로를 제거하거나 잘못 재작성하지 않는지 확인합니다.
브라우저 및 CDN 캐시 삭제:
- 변경 후 최신 애셋을 사용하도록 브라우저 캐시와 CDN/프록시 캐시를 모두 삭제합니다.
값 사용자 정의
--set 플래그를 사용하여 설정 값을 사용자 정의할 수 있습니다:
또는 사용자 지정 values.yaml을 생성하십시오. 기본값을 가져오려면 다음을 실행하십시오:
구성 예:
사용자 지정 값을 적용하십시오:
다음 단계
- 배포 옵션 - 외부 시스템 연동 및 최소 구성 배포
- Cloud 배포 - GKE, EKS, AKS 구성
- Helm 기본 가이드 - 기본 설치