HELM을 사용하여 Azure AKS에 애플리케이션 배포

May 05 2023
애플리케이션 개발에서 컨테이너의 인기가 높아짐에 따라 복잡한 엔터프라이즈 애플리케이션을 실행하는 수천 개의 컨테이너를 관리해야 하는 몇 가지 추가 과제가 있습니다. 여러 배포 환경에서 이러한 컨테이너를 관리하는 것은 어려운 작업입니다.

애플리케이션 개발에서 컨테이너의 인기가 높아짐에 따라 복잡한 엔터프라이즈 애플리케이션을 실행하는 수천 개의 컨테이너를 관리해야 하는 몇 가지 추가 과제가 있습니다. 여러 배포 환경에서 이러한 컨테이너를 관리하는 것은 어려운 작업입니다. 이러한 상황을 완화하기 위해 컨테이너 오케스트레이션 도구가 도입되었습니다.

쿠버네티스

Kubernetes는 컨테이너화된 애플리케이션의 소프트웨어 배포, 확장 및 관리를 자동화하기 위한 오픈 소스 컨테이너 오케스트레이션 시스템입니다. Kubernetes의 엄청난 성공으로 애플리케이션 개발 및 배포의 복잡성을 단순화하는 도구 에코시스템이 만들어졌습니다. Kubernetes는 Google에서 시작했으며 현재 CNCF(Cloud Native Computing Foundation)에서 관리하고 있습니다.
상위 3개 클라우드 제공업체는 각각 클라우드 고객을 위해 Kubernetes 오퍼링을 관리했습니다. 이 게시물에서는 Azure에서 제공하는 AKS(Azure Kubernetes Service)라는 Kubernetes 서비스에 대해 설명합니다.

AKS(Azure Kubernetes Service) 소개

2018년 Azure는 AKS라는 완전 관리형 오픈 소스 컨테이너 오케스트레이션 서비스를 출시했습니다. 운영 오버헤드를 Azure로 오프로드하여 Azure에서 관리형 Kubernetes 클러스터 배포를 간소화합니다. 호스팅된 Kubernetes 서비스인 Azure는 상태 모니터링 및 유지 관리와 같은 중요한 작업을 처리합니다. Kubernetes 마스터는 Azure에서 관리하므로 에이전트 노드만 관리하고 유지합니다.

AKS에서 Kubernetes 인스턴스를 실행할 때 얻을 수 있는 몇 가지 이점은 다음과 같습니다.

  • RBAC(역할 기반 액세스 제어)용 Azure Active Directory
  • Kubernetes 및 컨테이너 모니터링용 Azure Monitor
  • 오케스트레이션 및 컨테이너 네트워킹을 단순화하는 Azure 네트워킹
  • AKS 클러스터, pod, 네임스페이스 및 수신의 거버넌스를 위한 Azure Policy
  • AKS 클러스터 및 컨테이너 내 스토리지 요구 사항을 위한 Azure Storage

Kubernetes 플랫폼과 에코시스템이 계속 성장함에 따라 여러 클러스터와 여러 리소스에 여러 Kubernetes 구성 파일(YAML)을 배포하여 Kubernetes 내에서 오케스트레이션하는 작업이 매우 복잡해졌습니다. HELM이라는 프로세스를 단순화하는 데 도움이 되는 여러 패키지 관리자 도구가 있습니다.

“HELM은 Kubernetes의 패키지 관리자입니다. Kubernetes 애플리케이션을 관리하는 데 도움이 됩니다.”

배포

이 게시물에서는 HELM을 사용하여 AKS 클러스터에 애플리케이션을 배포하는 두 가지 접근 방식에 대해 설명합니다. 하나는 CLI를 사용하여 수동으로 helm을 실행하고 다른 하나는 파이프라인을 통해 실행합니다.

CLI를 사용하는 투구

아래 필수 구성 요소가 이미 설치 및 구성되어 있다고 가정합니다. AKS 클러스터 생성(IaC 또는 az CLI를 사용하여 생성 가능), kubectl 설치 및 Helm 3.4 이상이 설치되었습니다.

다음 명령을 실행하여 bitnami 저장소를 추가하십시오.

HELM을 사용하여 AKS에 my-release 애플리케이션 설치

출력은 다음과 같습니다.

메시지 가 표시되면 success다음 명령을 사용하여 my-release 포드가 실행 중인지 확인할 수 있습니다.

my-release Admin URL에 액세스하려면 다음 명령을 실행하여 외부 IP 항목을 찾습니다.

일단 외부. IP 위치 탐색http://<EXTERNAL_IP>/admin

파이프라인을 사용하는 Helm

모든 표준 파이프라인을 사용할 수 있습니다. ADO(Azure DevOps) 파이프라인을 사용하여 HELM을 사용하여 자동으로 애플리케이션을 배포하고 ACR을 사용하여 엔터프라이즈 애플리케이션용 채팅 이미지를 저장합니다.

전제 조건: 전제 조건으로 고려하는 구성 요소는 다음과 같습니다.

  • Azure 구독
  • AKS 클러스터
  • ADO 파이프라인 설정
  • AKS 클러스터 서비스 주체
  • 차트 버전을 저장하는 ACR

my-release Admin URL에 액세스하려면 다음 명령을 실행하여 외부 IP 항목을 찾습니다.

외부 IP를 찾으면 다음으로 이동합니다.http://<EXTERNAL_IP>/admin

결론

오늘날의 세계에서 Kubernetes의 엄청난 성공은 애플리케이션 개발 및 배포의 복잡성을 단순화하는 도구 에코시스템을 만들었습니다. AKS와 Helm은 복잡한 Kubernetes 애플리케이션을 배포하고 관리하는 데 도움이 되는 도구의 두 가지 예입니다.