본문 바로가기
문서 목차
ORKESTRIX설치

ChartMuseum (Helm Chart 저장소)

쿠버네티스 패키지(Helm Chart) 저장 및 내부 레지스트리 제공 기능 을 위한 ChartMuseum 을 구성합니다. 자체 제작한 Helm Chart를 Artifact Hub 같은 공개 저장소에 올리지 않고, helm repo add 로 우리 내부망 안의 저장소만 등록해서 사내에서만 저장·배포할 수 있게 합니다.

QUANTUM C&S

쿠버네티스 패키지(Helm Chart) 저장 및 내부 레지스트리 제공 기능을 위한 ChartMuseum을 구성합니다. 자체 제작한 Helm Chart를 Artifact Hub 같은 공개 저장소에 올리지 않고, helm repo add로 우리 내부망 안의 저장소만 등록해서 사내에서만 저장 · 배포할 수 있게 합니다.

설정값

inventory/qks/group_vars/all/all-k8s.yaml:

qks_chartmuseum_enabled: true
qks_chartmuseum_release: qks-chartmuseum
qks_chartmuseum_version: 3.10.4
qks_chartmuseum_namespace: qks-chartmuseum
qks_chartmuseum_fqdn: "chart.{{ kube_default_domain }}"
qks_chartmuseum_name: qks
qks_chartmuseum_user: admin
qks_chartmuseum_pass: "{{ kube_default_passwd }}"
qks_chartmuseum_replicas: 1
qks_chartmuseum_storage_mode: ReadWriteOnce
qks_chartmuseum_storage_size: 5Gi
qks_chartmuseum_storage_class: "{{ qks_block_storage_class_name }}"

실행

./install.sh ubuntu plays/qks-chartmuseum.yaml

설치 흐름

./install.sh ubuntu plays/qks-chartmuseum.yaml
  ├─ 1. 접속 도메인을 각 노드 /etc/hosts에 등록
  ├─ 2. Helm 저장소 등록 ('chartmuseum')
  ├─ 3. Helm으로 ChartMuseum 배포
  └─ 4. 배포된 ChartMuseum을 로컬 Helm 저장소('qks')로 등록

설치 확인

kubectl get pods -n <qks_chartmuseum_namespace>

qks-chartmuseum 파드가 Running이어야 합니다.

실제 동작 확인

Helm Chart 업로드:

curl -k -s -u "<qks_chartmuseum_user>:<qks_chartmuseum_pass>" \
  -F "chart=@<차트>.tgz" \
  "https://<qks_chartmuseum_fqdn>/api/charts"

{"saved":true}가 나오면 정상입니다.

저장 확인:

curl -k -s -u "<qks_chartmuseum_user>:<qks_chartmuseum_pass>" \
  "https://<qks_chartmuseum_fqdn>/index.yaml"

업로드한 차트 이름이 목록에 나오면 정상입니다.

다운로드 확인:

curl -k -s -u "<qks_chartmuseum_user>:<qks_chartmuseum_pass>" \
  -o <차트>.tgz "https://<qks_chartmuseum_fqdn>/charts/<차트파일명>.tgz"

파일이 정상적으로 받아지면 정상입니다.

다음 단계