-
[Study47] Helm?FISA 2026. 4. 3. 10:29
쿠버네티스 패키지 매니저로, 쿠버네티스 애플리케이션을 패키징하고, 배포 관리하는 도구로
apt api와 비슷하다고 볼 수 있을 거 같습니다.
보통 쿠버네티스에서 애플리케이션 배포하려고하면, 저번에 실습했듯
Deploy,Service, Ingress...많은 yaml파일이 필요합니다.
벗 Helm을 사용하면 하나의 패키지로 values.yaml만 변경하면 돼요.
주요 구성요소로는
Chart
Releas
Repository
values.yaml
이있습니다.
1. Chart
Chart는 Helm의 가장 기본 단위로, 쿠버네티스 리소스들을 템플릿 형태로 묶어놓은 패키지입니다.
Deployment, Service 등의 YAML 파일이 템플릿으로 정의되어 있으며, 변수 값을 주입받아 동적으로 생성됩니다.2. Release
Release는 Chart가 실제 쿠버네티스 클러스터에 배포된 인스턴스를 의미합니다.
같은 Chart라도 서로 다른 설정(values.yaml)을 적용하면 여러 개의 Release를 생성할 수 있습니다.
또한 Helm은 Release 단위로 버전 관리가 가능하여, 롤백 기능도 제공합니다.3. Repository
Repository는 Chart들을 저장하고 공유하는 공간입니다.
대표적으로 공개 저장소인 Artifact Hub가 있으며, 사용자는 여기서 다양한 Chart를 검색하고 설치할 수 있습니다.
기업 환경에서는 사내 전용 Repository를 구성하기도 합니다.4. values.yaml
values.yaml은 Chart에 전달되는 설정값을 정의하는 파일입니다.
컨테이너 이미지, 포트, 환경 변수, replica 수 등 다양한 설정을 이 파일에서 관리하며, 환경(dev/staging/prod)에 따라 값만 바꿔서 재사용할 수 있습니다.5. Template
Chart 내부에는 templates 디렉토리가 존재하며, 실제 쿠버네티스 YAML이 Go Template 형식으로 작성되어 있습니다.
values.yaml의 값이 이 템플릿에 바인딩되어 최종 YAML이 생성됩니다.[ 설치 및 등록 ]
마스터 노드에만 설치하면, 전체 클러스터를 관리할 수 있습니다.
Helm 3 버전 설치 curl -fsSL https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash helm version ls /usr/local/bin/ #리스트 확인 가능 helm repo list # bitnami로 repo추가 및 업데이트(국룰 사이트인가봄) helm repo add bitnami https://charts.bitnami.com/bitnami helm repo update # 로컬 Helm repo 목록 확인 helm repo list/usr/local/bin/에 보면 helm이라고 있습니다.
만약 Helm 을만들고싶다면,
helm create mychartfisa #Creating mychartfisa server01@server01:~$ ls #calico.yaml k8s-emp mychartfisa springboot-emp.tar server01@server01:~$ cd mychartfisa/ server01@server01:~/mychartfisa$ ls #charts Chart.yaml templates values.yaml server01@server01:~/mychartfisa$create만 해주면 핵심 구성요소인 charts와 chart.yaml, template, values.yaml이 생성됩니다.
이건, 배포가아니라서
kubectl get all하면 안더요
단순히 쿠버네티스 yaml 템플릿 셋트를 만든 상태입니다.
이제 템플릿 셋트를 install해주면
helm install my-nginx-fisa ./mychartfisa
my-nginx-fisa는 release이름입니다. 뒤에는 경로이구용
kubectl get all했을 때, Deployment, Pod,Service가 생성됩니다.
helm list
를하면 현재 배포된 release목록을 확인할 수 있습니다.
helm upgrade my-nginx-fisa ./mychartfisa만약 수정하고나면(ex)Pod를 10개늘리기...
upgrade해주면 됩니다.
server01@server01:~$ helm uninstall mychartfisa2 #release "mychartfisa2" uninstalled server01@server01:~$ ls #calico.yaml k8s-emp mychartfisa springboot-emp.tar server01@server01:~$ helm list #NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION server01@server01:~$ rm -rf mychartfisa/ server01@server01:~$ ls #calico.yaml k8s-emp springboot-emp.tar삭제는 helm먼저 지우고 폴더 삭제하믄됩니다!!!
https://medium.com/codetodeploy/our-helm-charts-have-8000-lines-nobody-understands-them-c7fea0507197
Our Helm Charts Have 8000 Lines. Nobody Understands Them.
The Kubernetes config that started as “best practice” and became a full-time archaeology job
medium.com
의 글을 봐도 좋을 것 같아요. 개큰코드이슈 ㅋㅋ
728x90'FISA' 카테고리의 다른 글
[회고]14주차_우리FISA클라우드 엔지니어링 (1) 2026.04.05 [Study45] k8s 환경설정 (0) 2026.04.02 [Study44] Kubernetes (1) (0) 2026.03.31 [회고]13주차_우리FISA클라우드 엔지니어링 (0) 2026.03.29 [회고]12주차_우리FISA클라우드 엔지니어링 (0) 2026.03.22