차트 버전 2.x 전용
additionalManifests 기능은 v2.x 서브차트 기반 Helm 차트에서만 사용할 수 있습니다.additionalManifests 값을 사용하면 ClickStack 차트와 함께 임의의 Kubernetes 객체를 배포할 수 있습니다. 차트가 기본적으로 템플릿으로 제공하지 않는 NetworkPolicy, HorizontalPodAutoscaler, ServiceAccount, PodMonitor, 사용자 지정 인그레스 객체 등과 같은 리소스나 기타 Kubernetes API 객체를 배포할 때 사용하십시오.
작동 방식
additionalManifests의 각 항목은 완전한 Kubernetes 리소스 정의입니다. 이 차트는 다음을 수행합니다.
- 목록의 각 항목을 순회합니다
- 항목을 YAML로 변환합니다 (
toYaml) - Helm
tpl을 사용해 해당 YAML 내의 템플릿 표현식을 평가합니다
.Release.Name,.Release.Namespaceinclude "clickstack.fullname" .및 기타 차트 헬퍼.Values.*
values 파일 제약사항
additionalManifests는 values 파일에서 구성되며, values 파일은 tpl이 실행되기 전에 먼저 YAML로 파싱됩니다.
- values 파일에서
{{ ... }}는 모두 따옴표로 묶인 문자열 안에 있어야 합니다 - 구조적 템플릿 블록은 유효한 values YAML이 아닙니다(예:
{{- include ... | nindent ... }}만 단독으로 사용하는 경우) - 문자열이 아닌 필드(예: 숫자 포트)에는 리터럴 값 또는 이름이 지정된 포트를 사용하십시오
- 구조적 템플릿이 필요하면 raw values 파일 대신 래퍼 차트 템플릿을 사용하십시오
사용 가능한 차트 헬퍼
templates/_helpers.tpl에 정의되어 있습니다:
| Helper | Description | Values-file usage |
|---|---|---|
clickstack.name | 차트 이름(63자로 잘림) | 따옴표로 감싼 스칼라에서 안전하게 사용 가능 |
clickstack.fullname | 릴리스가 포함된 이름 | 따옴표로 감싼 스칼라에서 안전하게 사용 가능 |
clickstack.chart | 차트 이름 + 버전 | 따옴표로 감싼 스칼라에서 안전하게 사용 가능 |
clickstack.selectorLabels | 셀렉터 레이블 블록 | 래퍼 차트 템플릿에서만 사용 |
clickstack.labels | 표준 레이블 블록 | 래퍼 차트 템플릿에서만 사용 |
clickstack.mongodb.fullname | MongoDB CR 이름 | 따옴표로 감싼 스칼라에서 안전하게 사용 가능 |
clickstack.clickhouse.fullname | ClickHouse CR 이름 | 따옴표로 감싼 스칼라에서 안전하게 사용 가능 |
clickstack.otel.fullname | OTel collector 이름 | 따옴표로 감싼 스칼라에서 안전하게 사용 가능 |
예시
ServiceAccount
NetworkPolicy
HorizontalPodAutoscaler
PodMonitor (Prometheus Operator)
AWS ALB 인그레스
TargetGroupBinding
TargetGroupBinding 리소스가 필요한 ALB 시나리오의 경우:
고급: 래퍼 차트 템플릿
include "clickstack.labels" . | nindent 4와 같은 구조적 헬퍼가 필요하다면, 해당 블록을 values 파일에 직접 넣지 말고 래퍼 차트 템플릿(templates/*.yaml)에서 렌더링하십시오.
예시 래퍼 차트 템플릿 스니펫:
팁
Helm hooks
additionalManifests 항목은 별도의 YAML 문서로 렌더링됩니다. 설치/업그레이드 순서를 제어할 수 있도록 Helm hook 어노테이션을 추가할 수 있습니다:
CRD 적용 순서
PodMonitor)가 포함된 경우, 설치하거나 업그레이드하기 전에 해당 CRD가 클러스터에 이미 있어야 합니다.
여러 리소스 결합하기
additionalManifests는 목록입니다. 항목은 목록 순서대로 렌더링되며, 각 항목은 각각의 YAML 문서로 생성됩니다.
다음 단계
- 메인 Helm 가이드 - 기본 설치
- 구성 가이드 - API Keys, 시크릿, 인그레스
- Cloud 배포 - GKE, EKS, AKS 구성
- ClickStack Helm 차트 리포지토리 - 차트 소스 코드 및 values 참고