본문 바로가기
DevOps/helm

Helm Chart를 OCI 방식으로 Docker Hub에 Push하고 Pull & Install 하기

by 개발하는 경제학도 2026. 2. 18.

🐳 Helm Chart를 OCI 방식으로 Docker Hub에 Push하고 Pull & Install 하기

 

이번 실습의 핵심은 이것이다.

 

✅ Helm Chart를 패키징
✅ OCI 방식으로 Docker Hub에 Push
✅ 다시 Pull 받아 Install
✅ Helm 구조는 GitHub에서 이력 관리

 

즉, Helm 배포 아티팩트는 Docker Hub에 저장하고,

Chart 소스 구조와 변경 이력은 GitHub에서 관리하는 구조를 만드는 것이 목적이다.

 


 

📌 실습 환경

 

  • Helm v4 이상 (OCI 기본 지원)
  • Docker Hub 계정
  • GitHub에 Helm Chart 소스 저장
  • Chart 이름: my-helm-cluster

 


 

1️⃣ Helm Chart 패키징

 

Helm Chart 기본 구조:

my-helm-cluster/
  ├── Chart.yaml
  ├── values.yaml
  └── templates/

패키징 실행:

helm package my-helm-cluster

결과:

my-helm-cluster-0.1.0.tgz

Helm Chart가 하나의 배포 아티팩트(.tgz)로 생성된다.

 


 

2️⃣ Docker Hub 로그인

docker login

Helm OCI 로그인:

helm registry login registry-1.docker.io

 


 

3️⃣ Helm Chart를 Docker Hub에 Push (OCI 방식)

helm push my-helm-cluster-0.1.0.tgz \
  oci://registry-1.docker.io/<dockerhub-username>

성공 시:

Pushed: registry-1.docker.io/<dockerhub-username>/my-helm-cluster:0.1.0

여기서 중요한 점 👇

 

Helm은 자동으로 다음 경로로 저장한다:

<username>/my-helm-cluster:0.1.0

즉, Helm Chart가 Docker Image처럼 Registry에 저장된다.

 


 

4️⃣ Docker Hub에서 Helm Chart Pull

 

다른 환경에서도 동일한 Chart를 가져올 수 있다.

helm pull oci://registry-1.docker.io/<dockerhub-username>/my-helm-cluster \
  --version 0.1.0

파일 다운로드:

my-helm-cluster-0.1.0.tgz

 


 

5️⃣ Helm Install

helm install my-release \
  oci://registry-1.docker.io/<dockerhub-username>/my-helm-cluster \
  --version 0.1.0

Kubernetes 클러스터에 배포 완료.

 


 

1️⃣ Helm Chart 구조는 GitHub에서 이력 관리

 

  • Chart.yaml 변경
  • values.yaml 수정
  • 템플릿 변경
  • 버전 관리
  • PR / 코드 리뷰

 

→ GitHub에서 소스 기반 관리

 


 

2️⃣ 배포 아티팩트는 Docker Hub에서 관리

 

  • .tgz 형태로 패키징
  • 버전별 Registry 저장
  • CI/CD에서 직접 Pull 가능
  • 이미지처럼 태그 기반 배포 가능

 


 

📦 역할 분리 구조

역할저장 위치

Helm 구조 및 코드 GitHub
배포용 패키지(.tgz) Docker Hub (OCI Registry)
실제 실행 Kubernetes

 


 

🚀 왜 이 방식이 중요한가?

 

  • Helm Repository 서버를 따로 운영할 필요 없음
  • Docker Registry를 그대로 활용 가능
  • CI/CD 파이프라인 연동이 쉬움
  • 버전 기반 배포 전략 수립 가능
  • Git 기반 이력 관리 + Registry 기반 배포 분리 가능

 


 

🏁 한 줄 정리

 

Helm Chart는 GitHub에서 코드로 관리하고,
패키징된 결과물은 Docker Hub(OCI)에 업로드하여 배포에 사용한다.

댓글