블로그로 돌아가기

Windows에서 Helm 3 패키지 관리자를 사용하여 Kubernetes에 소프트웨어 설치하기

Windows에서 Helm 3 패키지 관리자를 사용하여 Kubernetes에 소프트웨어 설치하기

개발 배경이 있으시다면 아마 패키지 관리자(Package Manager)라는 용어를 알고 계실 것입니다. 패키지 관리자를 사용하면 의존성을 설치하고, 버전을 업그레이드 및 다운그레이드하는 등의 작업을 수행할 수 있습니다. 이 튜토리얼에서는 다음을 위한 매우 인기 있는 패키지 관리자를 살펴보겠습니다: Kubernetes, 일명 Helm.

이라 불리는 도구입니다. Helm은 Kubernetes 애플리케이션 관리를 지원합니다. Helm을 사용하면 애플리케이션 메타데이터, 의존성 및 구성을 지정하여 Kubernetes 애플리케이션을 정의할 수 있습니다. 또한 Helm은 Kubernetes에 애플리케이션을 설치할 수 있을 뿐만 아니라 애플리케이션을 업그레이드 및 다운그레이드할 수도 있습니다. 마지막으로 Helm 파일을 사용하여 다른 사람과 애플리케이션을 공유할 수 있습니다. 이 튜토리얼에서는 Windows OS에서 Helm 3를 설치하는 방법과 차트 및 릴리스를 설정, 업그레이드, 롤백 및 관리하는 방법을 보여드리겠습니다.

시작해 봅시다!

전제 조건

튜토리얼을 시작하기 전에 먼저 다음 사항이 설치되어 있는지 확인해야 합니다:

  • Windows에 Kubernetes가 설정되어 있지 않다면 가장 쉬운 방법은 Docker Desktop으로 시작하는 것입니다. 다음으로 이동하세요: https://www.docker.com/products/docker-desktop. Docker Desktop을 다운로드하고 설치합니다. 이 튜토리얼에서는 Windows를 사용할 것입니다. 따라서 WSL 2 Backend를 설치해야 합니다. 이는 Windows용 Linux 하위 시스템이며 Docker 지원을 가능하게 합니다:

Docker Desktop Kubernetes with Helm

설치가 완료되고 Docker Desktop이 준비되면, 다음으로 이동합니다: Settings -> Kubernetes, 그리고 다음 옵션을 체크합니다: Enable Kubernetes:

Docker Settings Kubernetes with Helm

Enable k8s Kubernetes with Helm

모든 것이 제대로 작동하는지 확인하려면 사용 중인 시스템의 터미널 또는 PowerShell로 이동하여 아래 명령어를 입력하세요:

아래와 같은 출력이 표시되면 준비가 완료된 것입니다:

kubectl Kubernetes with Helm

또는 Ubuntu에서 작업하기로 결정한 경우 다음 상세 가이드를 따를 수 있습니다: How to Install and Use Kubernetes on Ubuntu 20.04.

또한 설치 프로세스를 시작하기 전에 Helm과 관련된 몇 가지 주요 용어를 살펴보겠습니다.

  • 차트 (Charts)

 Kubernetes YAML 파일은 Helm 차트에 패키징됩니다.

  • Helm 저장소 (Repositories)

Helm은 저장소를 지원합니다. Helm 저장소는 다른 사람들이 사용할 수 있도록 Helm 차트를 보관하는 위치입니다. Helm을 사용하면 자체 저장소를 만들 수 있을 뿐만 아니라 타사 저장소도 지원할 수.

  • Tiller

Tiller는 Helm의 서버 구성 요소입니다. Kubernetes 클러스터에 설치해야 합니다. Helm 차트를 가져와 그에 따라 클러스터를 구성합니다.

또한 다음을 확인할 수도 있습니다: Helm에 대한 자세한 개요를 제공하는 블로그 게시물 이 게시물에서는 Kubernetes로의 애플리케이션 배포를 단순화하는 Helm의 방법을 설명합니다.

이제 시작할 준비가 되었습니다!

1단계: Helm 3 설치

Helm 3 설치는 간단한 과정입니다. 릴리스는 Helm GitHub 페이지에서 다운로드할 수 있습니다. 선택한 OS에 따라 사용할 릴리스를 다운로드할 수 있습니다. 이 튜토리얼에서는 Windows OS를 사용할 예정이므로, Windows의 경우 아래 단계를 따르세요:

  1. GitHub 페이지에서 Windows용 Helm 바이너리를 다운로드합니다.

  2. 다운로드가 완료되면 다운로드 폴더 또는 다운로드한 위치에서 압축 파일을 찾을 수 있습니다.

  3. 다음으로, 이 압축 파일을 편리한 위치로 이동하고 압축을 풉니다. 압축을 푼 내용 중에서 다음 파일을 찾을 수 있습니다: helm.exe 파일:
    helm_binary

  4. 폴더 위치를 복사하여 시스템 환경 변수의 PATH 변수에 추가합니다.

  5. 완료되면 터미널을 열고 아래 명령어를 입력하세요:

아래와 같은 출력이 표시되면 Helm 설치가 완료된 것입니다. 그런 다음 다음 단계로 진행할 수 있습니다:

helm

2단계: 저장소 설정 및 Helm 차트 설치

Helm은 저장소의 액세스 및 관리를 지원합니다. 저장소는 Helm 차트가 저장되는 곳입니다. 처음에 Helm은 자체 저장소를 가지고 있지 않습니다. 대신 Helm은 관리자와 DevOps 전문가가 자체 저장소를 생성하도록 권장합니다. 즉, Kubernetes 클러스터에 MongoDB를 설치하려면 Helm 저장소에 직접 추가해야 합니다. 저장소를 찾는 데 도움이 되도록 다음을 사용할 수 있습니다: Artifact.io. 이곳은 다음에서 관리하는 모든 Helm 차트를 위한 오픈 소스 카탈로그입니다: CNCF.

아래에서는 저장소를 설정하고 소프트웨어를 다운로드 및 설치하는 방법을 보여드리겠습니다. MongoDB 설치를 예로 들겠습니다. Kubernetes 클러스터에 MongoDB를 설치한다고 가정해 보겠습니다. 설치를 위해 아래 단계를 따르세요:

  1. 먼저, 다음으로 이동합니다: https://artifacthub.io.

  2. 다음으로 MongoDB를 검색합니다. 검색하면 다양한 옵션이 있는 것을 볼 수 있습니다. 우리가 관심 있는 것은 MongoDB by Bitnami:
    search_mongodb

  3. 검색이 끝나면 다양한 옵션이 표시됩니다. 각 차트 옆에서 게시자, 버전 및 기타 관련 정보를 확인할 수 있습니다. 원하는 차트를 찾으면 해당 차트를 선택해야 합니다. 여기서는 MongoDB by Bitnami를 클릭합니다:
    select_mongodb

  4. 이제 실제로 기술적인 부분이 시작됩니다. 전체 설명을 보면 서비스를 설치하려는 모든 사람을 위한 유용한 가이드가 제공되는 것을 볼 수 있습니다. 다양한 옵션, 구성, 매개변수, 차트 삭제 방법 및 기타 필요한 정보들을 확인할 수 있습니다. 다음 버튼을 찾으세요: Install 버튼을 찾아 클릭합니다:
    mongodb_install Kubernetes with Helm

  5. MongoDB를 설치하는 데 필요한 모든 것이 여기에 있습니다. 먼저, 저장소를 추가한 다음 차트를 설치해야 합니다. 저장소를 추가하려면 터미널을 열고 다음 명령어를 입력하세요:

아래와 같은 출력이 표시됩니다:

repo_add_bitnami

이제 저장소가 설정되었으므로 차트를 설치해야 합니다. 대화 상자에서 명령어를 복사하여 실행하세요:

프로세스가 완료되면 MongoDB를 사용할 준비가 모두 끝납니다.

3단계: 릴리스 관리

소프트웨어 개발에서 릴리스 관리는 매우 중요합니다. 이전 버전으로 업데이트하거나 롤백해야 하는 경우가 항상 발생합니다. 다행히 Helm에서 릴리스를 관리하는 것은 비교적 간단한 과정입니다. Helm은 버전 번호를 유지하므로 언제든지 이전 버전으로 롤백할 수 있습니다. 마찬가지로, 애플리케이션이 배포되어 실행 중이고 구성을 변경해야 한다고 가정해 보겠습니다. Helm은 이 역시 지원합니다. 아래에서는 이러한 작업을 수행하는 데 도움이 되는 몇 가지 모범 사례를 살펴보겠습니다.

  • 애플리케이션 업데이트 방법

귀하의 values.YAML 파일에 애플리케이션의 인스턴스를 두 개 실행해야 한다고 명시했다고 가정해 보겠습니다. 이는 애플리케이션의 고가용성이 필요하기 때문일 수 있습니다. 하지만 나중에 애플리케이션에 세 개의 인스턴스가 필요하다는 것을 깨닫게 됩니다. Helm이 없다면 먼저 애플리케이션을 내린 다음 구성하고 다시 배포해야 합니다. Helm을 사용하면 먼저 values.YAML 파일에서 변경 사항을 적용한 다음 아래 명령어를 실행하기만 하면 됩니다. Helm 파일이 있는 디렉터리에서 다음 명령어를 실행하세요:

  • 릴리스 롤백 방법

이제 릴리스에 문제가 발생했다고 가정해 보겠습니다. 잘못된 포트 번호나 경로를 구성했을 수 있습니다. 이전 버전으로 롤백하려면 아래 명령어를 실행하기만 하면 되며, 그러면 Helm이 릴리스를 이전 버전으로 되돌립니다:

Helm이 모든 릴리스와 버전을 관리합니다. 이는 Kubernetes와 함께 Helm을 사용할 때 얻을 수 있는 가장 큰 장점 중 하나입니다. 애플리케이션의 모든 릴리스를 보려면 Helm 차트와 YAML 파일이 포함된 디렉터리에서 아래 명령어를 실행하세요:

4단계: 나만의 차트 만들기

마지막으로, 이제 Helm에 익숙해지고 작동 방식을 이해하셨으므로 나만의 차트를 만들 차례입니다. 사용자 지정 차트를 만들면 애플리케이션을 쉽게 배포할 수 있을 뿐만 아니라 모든 저장소에 호스팅할 수 있습니다. 아래에 설명할 단계를 따르면 차트를 만드는 과정은 매우 간단합니다. 먼저 터미널을 열고 아래 명령어를 실행하세요:

이렇게 하면 제공한 이름으로 디렉터리가 생성됩니다. 여기서는 다음 이름을 사용합니다: my-app. 폴더의 내용을 확인해 보겠습니다:

다음과 같은 구조를 얻게 됩니다:

출력 내용의 요약은 다음과 같습니다:

  • charts 폴더 – 종속 차트를 추가하는 데 사용됩니다.
  • templates 폴더 – 클러스터에 배포될 구성입니다.
  • YAML 파일 – Helm 차트 구조의 개요입니다.
  • YAML 파일 – 차트 구성을 위한 포맷팅 정보입니다.

다음으로, 차트를 설치하고 구성하려면 아래 단계를 따르세요:

  • 이미지 및 풀(pull) 구성

다음 파일을 엽니다: values.YAML 파일. 여기서 image 노드를 찾습니다. 그런 다음 원하는 대로 구성할 수 있습니다. 가능한 값은 다음과 같습니다: IfNotPresent, Always, Latest. 전체 값 세트는 공식 문서에서 확인할 수 있습니다.

  • 차트 이름 재정의

이 단계는 선택 사항이므로 원하시면 건너뛸 수 있습니다:
override

  • 서비스 이름

다음 파일을 엽니다: values.YAML 파일에서 다음을 찾습니다: serviceName. 그런 다음 원하는 이름을 추가합니다. 차트를 설치하기 전에 이름을 준비해 두는 것이 좋습니다:
service_name

  • 차트 설치

마지막으로, 차트를 설치하려면 아래 명령을 실행합니다:

클러스터에 배포하기 전에 차트를 구성하는 데 사용할 수 있는 모든 옵션을 신중하게 살펴보는 것이 좋습니다.

개발자들이 Helm을 좋아하는 이유

Helm은 배포를 수시로 시작하고 중단해야 하는 개발자와 DevOps 전문가들 사이에서 인기를 얻고 있습니다. Helm의 주요 장점은 다음과 같습니다:

  1. Helm은 배포 프로세스를 단순화합니다. 새로 배워야 할 것은 없으며, 기존 YAML 배포를 사용자가 쉽게 구성할 수 있도록 만들어 줍니다.

  2. 클러스터 수나 포트와 같은 구성을 자주 변경하는 대신, Helm을 사용하면 쉽게 구성할 수 있습니다. 사용자는 다음 파일의 값을 업데이트하기만 하면 됩니다: values.YAML 파일.

  3. Helm을 사용하면 애플리케이션을 리포지토리에 패키징하여 다른 사용자와 공유할 수 있습니다.

결론

이 튜토리얼에서는 Windows에서 처음부터 Helm 패키지 관리자를 설정하는 방법을 살펴보았습니다. Helm의 강력한 기능을 활용하기 위해 명확히 이해해야 하는 다양한 핵심 개념을 살펴보았습니다. 또한 탐색된 Helm 리포지토리 내에서 사용할 수 있는 다양한 기능도 확인했습니다. 이제 Helm에 익숙해져 다음 Kubernetes 프로젝트/배포에 적용할 수 있을 것입니다.

Kubernetes 및 그 기능에 대한 지식을 더욱 넓히려면 저희 블로그의 다른 튜토리얼을 살펴보세요:

즐거운 컴퓨팅 되세요!

author

Pranay Kapgate

작성자 · CloudSigma

Preslav Dobrev는 CloudSigma의 크리에이티브 디자이너로서, 전통적이고 혁신적인 마케팅 채널을 활용하여 일관된 비즈니스 정체성을 구축하는 데 중점을 두고 있습니다. 그는 영향력 있는 브랜드 내러티브를 창출하기 위해 예술적 비전과 전략적 마케팅을 결합하는 데 능숙합니다.

댓글

아직 댓글이 없습니다. 첫 번째로 작성해 보세요.