올해 AWS 기반 클라우드 프로젝트에 참여하면서 나는 주로 Kubernetes 인프라 구축을 담당했다. 특히 EKS 클러스터를 구성한 뒤 AWS Load Balancer Controller를 배포하는 과정에서 Helm을 사용하였다.
Helm이란
helm은 Kubernetes용 패키지 관리자로, 복잡한 Kubernetes 리소스를 보다 쉽게 템플릿화하고 효율적으로 배포 및 관리할 수 있도록 도와주는 도구이다.
Helm의 3가지 구성요소
Chart
Helm Chart는 Kubernetes 리소스(Deployment, Service, ConfigMap 등)를 하나의 패키지로 묶어, 애플리케이션을 클러스터에 손쉽게 배포할 수 있도록 만든 구성 요소이다. Helm chart는 아래의 파일로 구성되어있다.
my-chart/
├─ Chart.yaml
├─ values.yaml
├─ templates/
아래 링크를 통해 필요한 Helm Chart에 대한 정보를 확인할 수 있다.
Artifact Hub
Find, install and publish Cloud Native packages
artifacthub.io
Repository
여러 Helm Chart가 저장되어 있는 저장소이다.
Release
Chart를 설치하여 생성된 배포 인스턴스이다.
따라서 위의 3개의 관계를 정리해보자면 다음과 같다. Helm을 사용할 때는 먼저 Repository에서 필요한 Chart를 가져와 설치한다. Chart는 Kubernetes 배포에 필요한 리소스 묶음이며, Chart를 설치할 때마다 새로운 Release가 생성되어 관리된다.
Helm을 사용한 AWS Load Balancer Controller 설치
아래는 실제로 내가 helm를 사용해 LoadBalancer를 배포하기 위해 사용했던 내용이다.
먼저 helm repo를 추가한다.
helm repo add eks https://aws.github.io/eks-charts
helm repo update
helm install를 통해 kube-system 네임스페이스에 AWS Load Balancer Controller를 설치한다.
helm install aws-load-balancer-controller eks/aws-load-balancer-controller \
-n kube-system \
--set clusterName=order-eks-cluster \
--set serviceAccount.create=false \
--set serviceAccount.name=aws-load-balancer-controller \
--set region=ap-northeast-2 \
--set vpcId=vpc-047f90260af752cf0 \
--set image.tag="v2.6.2"
설치가 완료되면 kube-system 네임스페이스에 배포된 AWS Load Balancer Controller의 상태를 확인할 수 있다.
kubectl get deployment -n kube-system aws-load-balancer-controller
실제로 프로젝트 진행 중 Helm을 사용해 여러 리소스를 배포해 본 결과, 변경사항이 생겼을 때 이전 버전과 비교하거나 손쉽게 롤백할 수 있어 관리가 훨씬 편리했다. 또한 여러 리소스를 하나의 Chart로 묶어 관리하다 보니 구성 파일이 정리되어 가독성도 높아졌었다.
참고로 Helm은 최근 v4.0.0이 정식으로 릴리스되며 새로운 버전으로 업데이트되었다.
Helm 4 Overview | Helm
Helm v4 represents a significant evolution from v3, introducing breaking changes, new architectural patterns, and enhanced functionality while maintaining backwards compatibility for charts.
helm.sh
'☁️ Cloud' 카테고리의 다른 글
| ECS Fargate 적용기: Cold Start와 배포 속도 개선 (0) | 2025.12.23 |
|---|---|
| AWS Session Manager로 Private EC2에 안전하게 접속하기 (0) | 2025.12.22 |