728x90
Helm vs Kustomize 비교 정리
- 공통점: 마이크로서비스 환경에서 App 종류가 많아지고, 다양한 배포 환경에 대해 중복 관리를 최소화 하기 위하여 사용한다.
- 차이점
차이점 | Helm | Kustomize |
배포 편의기능 갯수 | 200개 | 10개 |
패키지당 활용 범위 | 마이크로 서비스 AND 다양한 배포 환경 |
마이크로 서비스 OR 다양한 배포 환경 |
사용 목적 | 프로젝트 관리 패키지용 + 기업 제품 패키지용 | 프로젝트 관리 패키지용 |
Usecase | 대형 프로젝트 App 종류 - 5개 이상 |
간단한 프로젝트 App 종류 - 5개 미만 |
쿠버네티스를 도입하게 되면 여러 오픈소스를 도입하고, 이 오픈소스들은 대부분 Helm 형태로 배포가 된다.
따라서 처음에는 어렵지만 Helm을 먼저 사용한다면 Kustomize는 사용할 필요 없다.
다만 소규모 프로젝트나 빠른 배포 파이프라인 구축이 우선이거나, 다른 Kustomize 배포 파이프라인을 이해하기 위해서 Kustomize를 알아야 하는 경우가 발생할 수 있다.
Helm vs Kustomize 설치 구성 비교
- Kustomize: v1.14 부터 kubectl과 기능이 통합되어 kubectl 설치 시 kustomize가 포함되어 있다.
- Helm: Helm 사이트가 존재하여 Gtihub을 통해 설치 가능. Artifact HUB라는 Helm 패키지 저장소가 존재하고, 많은 오픈소스들이 이 저장소에 Helm 패키지 설치를 지원한다.
사용 방식 비교
- Helm은 template이 존재하고 파라미터를 부여하여 배포할 때 값이 치환되어 yaml 파일을 생성한다. 해당 내용을 kubernetes-api로 전송해 k8s object를 생성한다.
- Kustomize는 기본이 되는 base yaml 파일이 존재하고, 각 환경에 대한 배포파일을 apply 하여 덮어씌우는 방식이다. 예를 들어 개발 환경에 대한 yaml 파일을 별도로 작성하고 이를 apply 하면 기본 base 파일에 대해 dev 환경의 파일이 덮어 씌워진다. 이 때 개발 환경에 없는 값은 base 파일의 값을 사용하여 배포된다.
728x90
'인프라' 카테고리의 다른 글
Prometheus+Grafana로 Triton Inference Server 모니터링 하기 (0) | 2024.12.03 |
---|---|
쿠버네티스에서 Prometheus+Grafana 모니터링 시스템 구축하기 (0) | 2024.12.03 |
[Kubernetes] 쿠버네티스 Component 동작으로 이해하기 (0) | 2024.05.03 |
[Kubernetes] 쿠버네티스 기능 이해하기 - PVC, PV / Deployment / HPA / Service (0) | 2024.05.02 |
[Kubernetes] 쿠버네티스 기능 이해하기 - Configmap, Secret (0) | 2024.04.29 |