Helm

2025. 8. 12. 11:21·Cloud/Kubernetes

✅ Helm이란?

: 쿠버네티스용 오픈소스 패키지 매니저로, 패키지의 설치, 업데이트를 편리하게 수행하도록 도와준다. 레드햇 계열의 Yum, 데비안 계열의 APT과 유사한 기능을 제공한다.

 

Helm을 이용하면 Redis 클러스터 구성이나 Wordpress 환경 등의 복잡한 소프트웨어를 하나의 명령어로 쿠버네티스 클러스터에 배포할 수 있다.

롤링 업데이트 등 쿠버네티스에 최적화된 다양한 기능을 지원하기 때문에, 애플리케이션을 효율적으로 관리할 수 있다는 장점이 있다.


✅ Helm 설치

직접 다운로드

  • curl -sL https://get.helm.sh/helm-v버전-운영체제종류-amd64.tar.gz -o 저장파일경로

가장 최신 버전을 다운받아 압축을 풀어준다. (https://github.com/helm/helm/releases/tag/v3.18.4)

curl -sL https://get.helm.sh/helm-v3.18.4-linux-amd64.tar.gz -o /tmp/helm.tar.gz

 

helm을 다른 곳에서도 호출할 수 있도록 /usr/local/bin으로 옮긴다.

sudo mv linux-amd64/helm /usr/local/bin

 

스크립트를 받아서 설치

자동으로 최신 버전을 받아 설치한다.

 

패키지 매니저(apt, yum, brew 등)을 이용해서 설치

사용하는 운영체제에 따라 패키지 매니저를 통해 설치한다.


✅ 차트(Chart)

: 쿠버네티스 리소스들을 패키지 형태로 묶어 놓은 배포 단위

 

📑 역할

  • 애플리케이션 설치 자동화: Deployment, Service, ConfigMap, Ingress 등 여러 리소스를 일일이 생성할 필요 없이, 차트 하나로 애플리케이션을 배포할 수 있다.
  • 환경별 설정 분리: values.yaml 파일에서 dev/prod 설정만 변경해서 사용 가능하다.
  • 버전 관리: 차트 버전을 지정해서 특정 시점의 배포 상태를 재현하거나 롤백하는데 유용하다.
  • 의존성 관리: 다른 차트가 같이 필요한 경우, 의존성을 함께 관리하여 필요한 모든 컴포넌트를 한번에 배포할 수 있다.

✅ 헬름 저장소(Helm Chart Repository)

헬름은 기본적으로 저장소가 설정되어 있지 않기 때문에, 원하는 애플리케이션의 차트를 설치하려면 저장소를 직접 추가해야 한다.

저장소는 차트를 모아 놓은 곳을 말한다.

 

📑 stable 저장소

: 헬름이 관리하는 공식 차트 저장소

 

각각의 성숙도에 따라 stable과 incubator로 구분한다.

각 차트는 github에서 관리한다.

 

stable과 incubator의 차이

  • 업데이트 가능 여부
  • 데이터 영속성 가능 여부
  • 보안
  • 적절한 기본값 제공
  • 쿠버네티스 모범 사례에 따라 설정

저장소 추가

helm repo add stable https://charts.helm.sh/stable

 

📑 bitnami 저장소

: bitnami가 유지/관리하는 인기 오픈소스 애플리케이션 차트를 모아 놓은 공식 차트 저장소

 

MySQL, WordPress, Redis, Nginx, Kafka 같은 앱들을 쉽게 배포 가능하다.

대부분 production ready 수준의 앱들이라 테스트뿐 아니라 배포에도 사용 가능하다.

 

저장소 추가

helm repo add bitnami https://charts.bitnami.com/bitnami

 

⎈Happy Helming!⎈

 


✅ 워드프레스 설치 예제

저장소에서 워드프레스 관련 차트 검색

  • 추가된 저장소에서 검색: helm search repo wordpress
  • 여러 헬름 저장소에서 통합 검색: helm search hub wordpress

설정 확인

  • 차트에서 설정 가능한 파리미터 확인: helm show values bitnami/wordpress
  • 차트의 더 자세한 설명 확인(readme): helm show readme bitnami/wordpress

차트 검색

 

파라미터 확인

차트 설치

  • helm install [릴리스 이름] [차트 이름]
    • 차트 이름은 [저장소 이름]/[애플리케이션 이름] 형식

sample-wordpress 설치

차트 삭제

  • helm uninstall [릴리스 이름]

✅ Helm 아키텍쳐

Helm은 차트를 설치하면 차트와 values의 조합을 Release라는 단위로 관리한다.

 

Release는 쿠버네티스의 Secret에 저장되기 때문에 별도의 데이터베이스가 필요없다.


 

 

저작자표시 비영리 변경금지 (새창열림)

'Cloud > Kubernetes' 카테고리의 다른 글

External IP 서비스  (0) 2025.07.07
Service API - 쿠버네티스 클러스터 네트워크와 서비스  (0) 2025.07.04
Workload API - CronJob  (0) 2025.07.04
Workload API - StatefulSet  (0) 2025.07.04
Workload API - Deployment  (0) 2025.07.03
'Cloud/Kubernetes' 카테고리의 다른 글
  • External IP 서비스
  • Service API - 쿠버네티스 클러스터 네트워크와 서비스
  • Workload API - CronJob
  • Workload API - StatefulSet
lur
lur
  • lur
    공부 기록
    lur
  • 전체
    오늘
    어제
    • 분류 전체보기 (41)
      • PS (9)
        • 백준 (6)
        • 프로그래머스 (1)
        • 알고리즘 (1)
        • C++ (1)
      • Cloud (14)
        • Public Cloud (4)
        • Kubernetes (6)
        • Ansible (4)
      • CICD (4)
      • TDD (1)
      • Network (12)
      • 책 (0)
        • 대규모 시스템 설계 (0)
      • 후기 (1)
  • 블로그 메뉴

    • 홈
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    AWS File Storage
    kubernetes
    canary update
    ansible playbook
    ansible
    네트워크
    버전 관리 시스템
    Elastic Load Blancing
    dfs
    알고리즘
    백준
    BFS
    RHAAP
    AWS
    blue/green update
    AWS DataBase
    Community Ansible
    비트마스킹
    Continuous Deployment
    CI/CD
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
lur
Helm
상단으로

티스토리툴바