메뉴

이 페이지에는 기계 번역이 사용되었습니다. 일부 콘텐츠는 완벽하지 않을 수 있습니다. 개선할 수 있는 방법을 알려주십시오.

피드백 공유

Azure의 Kubernetes: 작동 방식 및 7가지 서비스 옵션

목차

이 페이지 공유하기

blank avatar
Jeff Whitaker

Azure에서 Kubernetes를 실행하는 방법은 무엇입니까?

Kubernetes는 컨테이너화된 애플리케이션, 스토리지 및 네트워킹 구성 요소를 관리하기 위한 빠르게 성장하는 플랫폼입니다. 개발자와 관리자는 인프라 구성 요소가 아닌 애플리케이션 워크로드에 집중할 수 있습니다. Kubernetes는 강력한 관리 작업용 API 세트를 통해 수많은 컨테이너를 편리하고 선언적인 방식으로 배포할 수 있도록 지원합니다.

Kubernetes는 특히 프로덕션 환경이나 엔터프라이즈 규모에서 실행할 경우 설치 및 유지 관리가 복잡할 수 있습니다. 확장성 및 Kubernetes 업데이트와 같은 주요 관리 및 배포 작업의 복잡성을 줄이기 위해 Azure Kubernetes Service(AKS) 및 Azure Container Instances(ACI)를 포함한 여러 관리형 Azure 서비스를 사용할 수 있습니다.

예를 들어 AKS에서는 Azure가 AKS 컨트롤 플레인을 관리하고, 고객은 애플리케이션이 실행되는 AKS 노드에 대해서만 비용을 지불합니다.

이 문서는 Kubernetes에 대한 광범위한 가이드 시리즈의 일부입니다.

이 문서에서는 다음 내용을 다룹니다.

Azure에서 Kubernetes를 실행하면 어떤 이점이 있습니까?

Azure에서 Kubernetes를 실행하면 컨테이너화된 애플리케이션을 배포하고 관리하려는 조직에 여러 가지 이점이 있습니다. Azure에서 Kubernetes를 실행할 때의 주요 이점은 다음과 같습니다.

  • 원활한 통합: Azure는 Kubernetes와 원활하게 통합되어 조직에서 Azure 인프라에 컨테이너화된 애플리케이션을 쉽게 배포하고 관리할 수 있습니다.
  • 확장성: Azure는 최신 애플리케이션의 증가하는 요구 사항을 수용할 수 있는 확장 가능한 인프라를 제공합니다. Azure의 Kubernetes는 애플리케이션 요구 사항에 맞춰 쉽게 확장하거나 축소할 수 있습니다.
  • 가용성: Azure는 고가용성 및 재해 복구 기능을 제공하여 Kubernetes 클러스터가 항상 사용 가능하고 장애 발생 시 신속하게 복구할 수 있도록 보장합니다.
  • 보안: Azure는 네트워크 보안, ID 및 액세스 관리, 암호화를 포함한 강력한 보안 기능을 제공하여 조직이 Kubernetes 클러스터와 그 위에서 실행되는 애플리케이션을 안전하게 보호할 수 있도록 지원합니다.
  • 자동화: Azure는 조직이 Kubernetes 클러스터와 그 위에서 실행되는 애플리케이션의 배포, 확장 및 관리를 자동화하여 인프라 관리에 필요한 시간과 노력을 줄일 수 있도록 지원하는 자동화 기능을 제공합니다.
  • 하이브리드 클라우드 기능: Azure는 하이브리드 클라우드 기능을 제공하여 조직이 온프레미스와 클라우드 모두에서 Kubernetes 클러스터를 실행하고 두 환경 간에 애플리케이션을 쉽게 이동할 수 있도록 합니다.

Azure Kubernetes: 참조 아키텍처

Azure에서 Kubernetes가 일반적으로 구현되는 방식을 설명하기 위해 Microsoft는 Azure Kubernetes Service(AKS)에 구현된 Microsoft 애플리케이션인 참조 아키텍처를 제공합니다. 이 참조 아키텍처는 대부분의 구현에 대한 시작점이 될 수 있습니다.

aks

출처: Azure

참조 아키텍처는 다음과 같이 구성됩니다.

  • Azure Kubernetes Service(AKS)—아키텍처의 중심에는 AKS가 있습니다.
  • Kubernetes 클러스터—AKS에 배포되어 워크로드를 실행하는 클러스터입니다. AKS를 사용하면 에이전트 노드만 관리하면 되고, Kubernetes 컨트롤 플레인은 AKS가 담당합니다.
  • 가상 네트워크—AKS는 에이전트 노드를 배포할 수 있는 가상 네트워크를 생성합니다. 고급 시나리오에서는 서브넷, 로컬 연결, IP 주소 등의 구성을 더욱 세밀하게 제어하기 위해 먼저 가상 네트워크를 생성할 수 있습니다.
  • 인그레스—인그레스는 클러스터 서비스에 액세스하기 위한 HTTP/HTTPS 경로를 제공합니다. 일반적으로 인그레스 뒤에는 인증 및 권한 부여를 관리하기 위한 API 게이트웨이를 배포합니다.
  • Azure Load Balancer—NGINX 인그레스 컨트롤러가 구현될 때 생성됩니다. 들어오는 트래픽을 인그레스로 라우팅하는 데 사용됩니다.
  • 외부 데이터 스토리지—마이크로서비스는 일반적으로 상태를 저장하지 않으며 Azure SQL Database와 같은 관계형 데이터베이스 또는 Cosmos DB와 같은 NoSQL 저장소와 같은 외부 데이터 저장소에 데이터를 저장합니다.
  • Azure Active Directory(AD)—AKS는 Kubernetes 배포를 위한 Azure 리소스를 생성하고 제어하는 데 사용되는 자체 Azure AD ID를 가지고 있습니다. 이러한 메커니즘 외에도 Microsoft는 Kubernetes 클러스터를 사용하는 클라이언트 애플리케이션에서 사용자 인증을 설정하기 위해 Azure AD를 사용하는 것을 권장합니다.
  • Azure Container Registry(ACR)—조직의 Docker 이미지를 저장하고 이를 사용하여 클러스터에 컨테이너를 배포하는 데 사용됩니다. ACR은 Azure AD를 통한 인증도 활용할 수 있습니다. 또 다른 옵션은 DockerHub와 같은 타사 레지스트리에 Docker 이미지를 저장하는 것입니다.
  • Azure Pipelines—Azure DevOps 서비스의 일부이며 빌드/테스트/배포 주기를 자동화하는 데 도움이 됩니다. 또는 Jenkins와 같은 타사 CI/CD 솔루션을 사용할 수도 있습니다.
  • Helm—Kubernetes 패키지 관리자입니다. Helm을 사용하여 Kubernetes 개체를 패키지로 결합하여 배포 및 버전 관리를 더 쉽게 할 수 있습니다.
  • Azure Monitor—AKS 컨트롤러, 노드, 컨테이너를 포함하여 Kubernetes 클러스터와 상호 작용하는 Azure 서비스의 로그를 수집하고 저장합니다. 이 데이터를 사용하여 애플리케이션을 모니터링하고, 경고 및 대시보드를 구성하고, 오류의 근본 원인을 분석할 수 있습니다.

관련 콘텐츠: Azure NetApp Files를 사용하여 Azure에서 Kubernetes 성능 향상

Azure의 Kubernetes: 7가지 서비스 옵션

1. Azure Kubernetes Service

Azure Kubernetes Service(AKS)는 Azure에 관리형 Kubernetes 클러스터를 배포할 수 있도록 지원합니다. AKS는 상태 모니터링 및 유지 관리와 같은 개발자와 관리자의 중요한 작업을 대신 수행합니다.

AKS에서 실행할 경우 에이전트 노드만 관리하면 되고 에이전트 노드에 대한 비용만 지불하면 됩니다. Kubernetes 마스터 노드는 자동으로 구성 및 배포되므로 무료입니다. Azure AD 통합, 고급 네트워킹, 모니터링 등의 다른 기능도 구성할 수 있습니다.

Azure CLI 또는 Azure Portal을 사용하여 AKS 클러스터를 생성할 수 있습니다. 또 다른 옵션은 Azure Resource Manager 템플릿이나 TerraForm과 같은 IaC(Infrastructure as Code) 솔루션을 사용하는 것입니다.

관련 콘텐츠: AKS에서 컨테이너용 영구 볼륨 구성 방법

2. Azure Container Instances

컨테이너는 클라우드 애플리케이션 패키징, 배포 및 관리에 선호되는 수단이 되고 있습니다. Azure Container Instances는 가상 머신을 관리하지 않고도 Azure에서 컨테이너를 편리하게 관리할 수 있는 방법을 제공합니다. 컨테이너 인스턴스는 Azure VM보다 오버헤드가 훨씬 적기 때문에 몇 초 만에 시작됩니다.

DockerHub, 개인 Azure Container Registry 또는 기타 Docker 레지스트리에서 Linux 또는 Windows 컨테이너 이미지를 가져올 수 있습니다. Azure Container Instances는 널리 사용되는 기본 운영 체제 이미지의 캐시를 보유하고 있어 사용자 지정 이미지를 더 빠르게 배포할 수 있습니다.

관련 콘텐츠:

3. Azure Service Fabric

Service Fabric은 컨테이너로 구성된 마이크로서비스 애플리케이션을 패키징하고 배포할 수 있는 분산 플랫폼을 제공합니다. Service Fabric은 클라우드 네이티브 개발의 많은 주요 과제를 해결합니다.

Azure Service Fabric은 상태 저장 서비스 구축에 중점을 둡니다. 서비스 프레임워크 프로그래밍 모델을 활용하거나 원하는 언어 또는 코드를 사용하여 상태 저장 요구 사항이 있는 컨테이너화된 서비스를 실행할 수 있습니다. 로컬 Linux 머신, Windows Server 또는 기타 퍼블릭 클라우드 플랫폼에서도 Service Fabric 클러스터를 생성할 수 있습니다.

Service Fabric은 Microsoft Power BI, Azure SQL Database, Cosmos DB, Dynamics 365, Skype를 포함한 많은 핵심 Microsoft 서비스를 지원하는 데 사용됩니다.

4. Azure Container Registry

Azure Container Registry(ACR)는 오픈 소스 Docker Registry 2.0을 기반으로 구축된 비공개 호스팅 Docker 레지스트리 서비스입니다. Azure 컨테이너 레지스트리를 생성 및 관리하여 조직의 프라이빗 Docker 이미지를 저장하고 관리할 수 있습니다.

ACR 작업을 사용하여 이미지에서 필요에 따라 컨테이너를 빌드하고, 소스 코드 리포지토리 커밋이나 기본 이미지 업데이트와 같은 이벤트에 따라 빌드를 자동화할 수도 있습니다.

5. Azure Container Instances

Azure Container Instances(ACI)는 Microsoft Azure에서 제공하는 서버리스 컨테이너 서비스입니다. 기본 인프라를 관리할 필요 없이 컨테이너를 실행할 수 있습니다. ACI는 경량, 단기, 상태 비저장 워크로드에 적합합니다. 빠른 시작 시간, 사용자 지정 크기, 초 단위 요금제를 제공하여 다양한 사용 사례에 비용 효율적이고 유연하게 적용할 수 있습니다.

6. Azure Container Apps

Container Apps는 Azure에서 컨테이너화된 애플리케이션을 구축, 배포 및 확장하기 위한 완전 관리형 플랫폼입니다. 내장된 자동 확장, 롤링 업데이트, Azure 서비스와의 통합을 통해 컨테이너 관리를 간소화합니다.

Container Apps는 사용자 지정 도메인과 TLS 인증서를 지원하며 여러 환경에서 애플리케이션을 실행할 수 있습니다. 이벤트 기반 아키텍처를 통해 최신의 탄력적이고 반응성이 뛰어난 애플리케이션을 구축하고 수요에 따라 효율적으로 확장할 수 있습니다.

7. Azure Dev Spaces

Azure Dev Spaces 서비스는 AKS를 사용하는 팀을 위한 빠르고 반복적인 Kubernetes 개발 환경을 제공합니다. Azure Dev Spaces를 사용하면 개발 머신을 설정하거나 종속성을 설정할 필요 없이 AKS의 모든 애플리케이션 구성 요소를 문제 해결하고 테스트할 수 있습니다.

Azure Dev Spaces를 사용하면 프로젝트에 대한 Docker 및 Kubernetes 아티팩트를 자동으로 생성하여 새롭거나 기존의 Kubernetes 애플리케이션을 개발 작업에 쉽게 추가할 수 있습니다.

Cloud Volumes ONTAP을 사용한 Azure의 Kubernetes

NetApp Cloud Volumes ONTAP은 선도적인 엔터프라이즈급 스토리지 관리 솔루션으로 AWS, Azure 및 Google Cloud에서 안전하고 검증된 스토리지 관리 서비스를 제공합니다. Cloud Volumes ONTAP 용량은 페타바이트 단위로 확장할 수 있으며 고가용성, 데이터 보호, 스토리지 효율성, Kubernetes 통합 등의 강력한 기능을 통해 파일 서비스, 데이터베이스, DevOps 또는 기타 엔터프라이즈 워크로드와 같은 다양한 사용 사례를 지원합니다.

특히 Cloud Volumes ONTAP은 컨테이너화된 워크로드의 Kubernetes 영구 볼륨 프로비저닝 및 관리 요구사항을 지원합니다.

Cloud Volumes ONTAP 사례 연구를 통해 이러한 Kubernetes 워크로드에서 컨테이너화된 애플리케이션의 문제를 해결하는 데 Cloud Volumes ONTAP이 어떤 도움이 되는지 자세히 알아보십시오.

Azure NetApp Files를 사용하는 Azure의 Kubernetes

Azure NetApp Files 는 NetApp 기술을 기반으로 구축된 Microsoft Azure 파일 스토리지 서비스로, 핵심 비즈니스 애플리케이션에 필요한 Azure의 파일 기능도 제공합니다.

엔터프라이즈급 데이터 관리 및 스토리지를 Azure로 전환하여 워크로드 및 애플리케이션을 쉽게 관리하고 모든 파일 기반 애플리케이션을 클라우드로 이동할 수 있습니다.

Azure NetApp Files는 HPC, SAP, Linux, Oracle, SQL Server 워크로드, Windows Virtual Desktop 등의 워크로드를 포함하여 미션 크리티컬 애플리케이션을 클라우드로 이동하려는 기업의 가용성 및 성능 문제를 해결합니다.

특히 Azure NetApp Files를 사용하면 비즈니스 크리티컬 워크로드까지 더 많은 애플리케이션을 Azure로 마이그레이션할 수 있습니다. 최고의 파일 처리량과 ms(millisecond) 미만의 응답 시간으로 마이그레이션할 수 있습니다.

Azure의 Kubernetes에 대해 자세히 알아보기

Azure의 Kubernetes에 대한 가이드 시리즈에서 자세한 내용을 읽어보세요.

Azure Kubernetes 클러스터: Azure에 첫 번째 클러스터 배포

Kubernetes 클러스터에는 하나 이상의 PODE를 포함한 리소스가 포함됩니다. 이러한 Pod는 특정 기능을 수행하거나 특정 데이터를 공유하는 등 고유한 역할을 수행합니다. Azure 클라우드에 Kubernetes 클러스터를 배포하려면 Azure Kubernetes Service(AKS)를 사용할 수 있습니다. 이 문서에서는 Azure Kubernetes 클러스터를 배포하고 보안을 유지하는 단계와 모범 사례를 안내합니다.

자세히 보기: Azure Kubernetes 클러스터: Azure에 첫 번째 클러스터 배포하기

Azure NetApp Files를 사용한 Azure에서의 탁월한 Kubernetes 성능

엔터프라이즈급 운영 환경을 프로덕션에 배포할 때 Kubernetes는 지나치게 복잡할 수 있습니다. 높은 수준의 성능을 제공하기 위해 Microsoft는 NetApp과 협력하여 Azure NetApp Files(ANF)라는 새로운 서비스를 출시했습니다. 이 문서에서는 초저지연 및 고성능을 손쉽게 구현하는 방법을 설명합니다.

자세히 보기: Azure NetApp Files를 사용한 Azure에서의 탁월한 Kubernetes 성능

Azure Kubernetes Service에서 영구 스토리지 문제 해결

Azure Kubernetes Service(AKS)를 사용하면 Azure 플랫폼에서 Kubernetes를 배포, 구성 및 관리할 수 있습니다. 온프레미스 워크로드를 Azure로 마이그레이션하는 과정을 간소화하는 다양한 기능과 손쉬운 관리를 위한 제어 기능을 제공합니다. 데이터 액세스의 안정성을 보장하기 위해 Azure NetApp Files(ANF)를 스토리지 계층으로 사용할 수 있습니다. NetApp에서 제공하고 Microsoft에서 관리하는 이 공식 서비스를 사용하여 영구 저장소를 구현하는 방법을 알아보세요.

자세히 보기: Azure Kubernetes Service에서 영구 스토리지 문제 해결하기

Azure Container Instance: 기본 사항 및 빠른 자습서

Azure Container Instances(ACI)는 가상 머신(VM)을 사용하지 않고 Microsoft Azure 퍼블릭 클라우드에서 컨테이너를 직접 실행할 수 있는 서비스입니다. Azure Container Instance(ACI)의 기능, 컨테이너 오케스트레이터와의 비교, 그리고 첫 번째 컨테이너 인스턴스를 만드는 방법을 알아보세요.

자세히 보기: Azure Container Instance: 기본 사항 및 빠른 자습서

Azure Container Instances vs Azure Kubernetes Service(AKS): 선택 방법

Azure Container Instances(ACI)는 가상 머신(VM)을 관리할 필요 없이 Azure 클라우드에서 컨테이너를 쉽게 실행할 수 있는 방법을 제공합니다. Azure Kubernetes Service(AKS)를 사용하면 Azure에 관리형 Kubernetes 클러스터를 배포할 수 있습니다. 가격, 확장성, 보안 등 측면에서 ACI와 AKS의 차이점을 알아보세요.

자세히 보기: Azure Container Instances vs Azure Kubernetes Service(AKS): 선택 방법

GKE vs AKS: 가용성, 보안, 도구 등 비교

Google Kubernetes Engine(GKE)과 Azure Kubernetes Service(AKS)는 모두 주요 클라우드 공급자가 제공하는 관리형 Kubernetes 서비스입니다. 두 서비스의 차이점을 이해하고 조직에 적합한 솔루션을 선택하는 방법을 알아보세요.

자세히 보기: GKE vs AKS: 가용성, 보안, 도구 등 비교

Azure 컨테이너: Azure에서 컨테이너 실행을 위한 4가지 주요 옵션

Microsoft Azure는 컨테이너화된 애플리케이션 실행을 지원하기 위해 특별히 설계된 여러 서비스를 제공합니다. Azure Kubernetes Service(AKS) 및 Azure Container Instances(ACS)를 포함한 주요 Azure 컨테이너 서비스에 대해 알아보세요.

자세히 보기: Azure 컨테이너: Azure에서 컨테이너 실행을 위한 4가지 주요 옵션

AKS 백업 실습: AKS에서 백업 및 복원 작업 수행 방법

영구 볼륨의 데이터는 보호해야 합니다. Azure의 기본 관리형 Kubernetes 서비스인 AKS를 사용하는 사용자를 위한 솔루션이 있습니다. AKS는 Azure Backup과 원활하게 연동하여 영구 볼륨의 백업 복사본을 생성하고 복원합니다. 이 블로그에서는 단계별로 그 방법을 안내합니다.

자세한 내용은 AKS Backup Walkthrough: How to Perform Back Up and Restore Operations in AK를 참조하세요.

주요 Kubernetes 주제에 대한 추가 가이드 확인

콘텐츠 파트너와 함께 Kubernetes 세계를 탐구하는 데 유용한 여러 주제에 대한 심층 가이드를 작성했습니다.

Kubernetes 문제 해결

작성자: Komodor


컨테이너 보안

작성자: Tigera


Kubernetes 네트워킹

작성자: Tigera


Drift chat loading