Kubernetes 배포에 있어 Helm을 쓰는 게 나을까, Terraform을 쓰는 게 나을까?
Terraform
- 인프라 자원들을 IaC로 관리하는 것이 주목적
Helm
- K8S Application과 앱의 상태를 관리하는 것이 주목적
Terraform | Helm |
무설치형 | 설치형 |
Kubernetes cluster 배포 가능 | Kubernetes cluster 배포 불가능 |
modules 사용 가능 | sub-charts 사용 가능 |
JSON/HCL format | standard manifests, Go-templates |
인프라 자원과 함께 배포 | 애플리케이션과 함께 배포 |
Unstable | Stable |
환경 변수 지원 | 환경 변수 지원 제한 |
복잡한 Rollback | 쉬운 Rollback |
적은 자원 사용 | 많은 자원 사용 |
Terraform이 Helm보다 아직 지원이 Helm보다는 미흡해보인다.
K8S 내부 구성이 복잡한 것이 아니라면 자원 사용도 적고 Infra와 함께 관리할 수 있는 Terraform이 더 적절해보인다.
하지만 애플리케이션이 복잡하다면 적절한 구성 지원을 받기 위해 Helm을 사용하는 것이 적절해보인다.
애플리케이션의 복잡도에 따라 적절한 툴이 달라지는 것 같은데, 직접 해봐야만 알 것 같다.
출처
https://phoenixnap.com/blog/helm-vs-terraform
https://coralogix.com/blog/terraform-vs-helm-charts/
'IT > Devops' 카테고리의 다른 글
[Terraform] State, Terraform Cloud (0) | 2022.03.14 |
---|---|
[Terraform] windows에서 Terraform Cloud 사용 순서 (0) | 2022.03.14 |
Devops Roadmap (0) | 2022.02.27 |
Devops의 업무 (0) | 2022.02.26 |
[Terraform] version (0) | 2022.02.23 |
댓글