AKS(Azure Kubernetes Service)란?
AKS(Azure Kubernetes Service)는 컨테이너화된 애플리케이션을 배포하고 관리하는 데 사용할 수 있는 관리되는 Kubernetes Service입니다. AKS를 사용하려면 최소한의 컨테이너 오케스트레이션 전문 지식이 필요합니다. AKS는 대부분의 부담을 Azure에 오프로딩하여 Kubernetes를 관리하는 복잡성 및 운영 과부하를 감소시킵니다. AKS는 고가용성, 확장성 및 이식성이 필요한 컨테이너화된 애플리케이션을 배포 및 관리하고, 오픈 소스 도구를 사용하고, 기존 DevOps 도구와 통합하여 여러 지역에 애플리케이션을 배포하는 데 이상적인 플랫폼입니다.
이 문서는 확장 가능하고 자동화된 관리되는 Kubernetes 솔루션을 찾고 있는 플랫폼 관리자 또는 개발자를 대상으로 합니다.
AKS 개요
AKS는 대부분의 부담을 Azure에 이전하여 Kubernetes를 관리하는 복잡성 및 운영 과부하를 감소시킵니다. AKS 클러스터를 만들면 Azure는 무료로 컨트롤 플레인을 자동으로 만들고 구성합니다. Azure 플랫폼은 애플리케이션을 실행하기 위해 배포하는 Kubernetes 개체 및 작업자 노드를 담당하는 AKS 컨트롤 플레인을 관리합니다. Azure는 상태 모니터링 및 유지 관리와 같은 중요한 작업을 처리하며 애플리케이션을 실행하는 AKS 노드에 대해서만 비용을 지불합니다.
참고 항목
AKS는 CNCF 인증을 받았으며 SOC, ISO, PCI DSS 및 HIPAA를 준수합니다. 자세한 내용은 Microsoft Azure 준수 개요를 참조하세요.
Azure의 컨테이너 솔루션
Azure는 다양한 워크로드, 아키텍처 및 비즈니스 요구 사항을 수용하도록 설계된 다양한 컨테이너 솔루션을 제공합니다.
컨테이너 솔루션 | 리소스 종류 |
---|---|
Azure Kubernetes Service | Managed Kubernetes |
Azure Red Hat OpenShift | Managed Kubernetes |
Azure Arc 지원 Kubernetes | 관리되지 않는 Kubernetes |
Azure Container Instances | 관리 Docker 컨테이너 인스턴스 |
Azure Container Apps | Managed Kubernetes |
다양한 솔루션을 비교하는 자세한 내용은 다음 리소스를 참조하세요.
AKS를 사용하는 경우
다음 목록에서는 AKS에 대한 몇 가지 일반적인 사용 사례를 설명합니다.
- AKS를 사용하여 컨테이너로 리프트 앤 시프트: 기존 애플리케이션을 컨테이너로 마이그레이션하고 완전 관리형 Kubernetes 환경에서 실행합니다.
- AKS를 사용한 마이크로 서비스: 간소화된 수평적 크기 조정, 자가 복구, 부하 분산, 보안 비밀 관리를 통해 마이크로 서비스 기반 애플리케이션의 배포 및 관리를 간소화합니다.
- AKS를 위한 보안 DevOps: Kubernetes로 보안 DevOps를 구현하여 속도와 보안의 균형을 효율적으로 유지합니다.
- ACI를 사용하여 AKS에서 버스팅: 가상 노드를 사용하여 몇 초 만에 시작하고 수요에 맞춰 크기 조정되는 ACI 내 Pod를 프로비전합니다.
- AKS를 사용한 기계 학습 모델 학습: TensorFlow 및 Kubeflow와 같은 친숙한 도구를 사용하여 대규모 데이터 세트를 사용하여 모델을 학습합니다.
- AKS를 사용한 데이터 스트리밍: 센서를 통해 수집된 수백만 개의 데이터 포인트로 실시간 데이터 스트림을 수집 및 처리하고 빠른 분석 및 계산을 수행하여 복잡한 시나리오에 대한 인사이트를 개발합니다.
- AKS에서 Windows 컨테이너 사용: AKS에서 Windows Server 컨테이너를 실행하여 Windows 애플리케이션과 인프라를 현대화합니다.
AKS의 기능
다음 표에는 AKS의 주요 기능 중 일부가 나열되어 있습니다.
기능 | 설명 |
---|---|
ID 및 보안 관리 | • 기본 제공 가드 레일과 인터넷 보안 벤치마크가 포함된 Azure Policy를 사용하여 규정 준수 제어를 적용합니다. • Kubernetes RBAC와 통합하여 클러스터 리소스에 대한 액세스를 제한합니다. • Microsoft Entra ID를 사용하여 기존 ID 및 그룹 멤버 자격을 기반으로 Kubernetes 액세스를 설정합니다. |
로깅 및 모니터링 | • Azure Monitor의 기능인 컨테이너 인사이트와 통합하여 클러스터 및 컨테이너화된 애플리케이션의 상태와 성능을 모니터링합니다. • 클러스터에서 네트워크 트래픽 데이터를 수집하고 시각화하려면 네트워크 가시성을 설정합니다. |
간소화된 배포 | • 스마트 기본값으로 Kubernetes용으로 미리 빌드된 클러스터 구성을 사용합니다. • KEDA(Kubernetes Event-driven Autoscaler)를 사용하여 애플리케이션을 자동 크기 조정합니다. • AKS용 Draft를 사용하여 소스 코드를 준비하고 애플리케이션 프로덕션을 준비합니다. |
클러스터 및 노드 | • 스토리지를 노드 및 Pod에 연결하고, 클러스터 구성 요소를 업그레이드하고, GPU를 사용합니다. • 혼합 운영 체제와 Windows Server 컨테이너를 지원하기 위해 여러 노드 풀을 실행하는 클러스터를 만듭니다. • 클러스터 자동 크기 조정기 및 수평형 Pod 자동 크기 조정기를 사용하여 자동 크기 조정을 구성합니다. • 컨테이너가 하드웨어 기반의 신뢰 실행 환경에서 실행될 수 있도록 기밀 컴퓨팅 노드가 포함된 클러스터를 배포합니다. |
스토리지 볼륨 지원 | • 영구 데이터를 위한 정적 또는 동적 스토리지 볼륨을 탑재합니다. • 단일 Pod 액세스에는 Azure Disks를 사용하고 여러 동시 Pod 액세스에는 Azure Files를 사용합니다. • 고성능, 높은 처리량 및 짧은 대기 시간의 파일 공유를 위해 Azure NetApp Files를 사용합니다. |
네트워킹 | • 필요에 따라 네트워킹 옵션을 활용합니다. • 타사 CNI 플러그 인을 사용하려면 자체 CNI(컨테이너 네트워크 인터페이스)를 가져옵니다. • nginx를 사용한 애플리케이션 라우팅 추가 기능을 사용하여 클러스터에 배포된 애플리케이션에 쉽게 액세스합니다. |
개발 도구 통합 | • Helm을 사용하여 AKS에서 개발합니다. • 워크로드를 관리하려면 Visual Studio Code용 Kubernetes 확장을 설치합니다. • Istio 기반 서비스 메시 추가 기능으로 Istio 기능을 활용합니다. |
AKS 시작
다음 리소스를 사용하여 AKS를 시작합니다.
- AKS의 핵심 Kubernetes 개념을 알아봅니다.
- AKS 자습서 시리즈를 통해 AKS에서의 애플리케이션 배포를 평가해 보세요.
- AKS에서 안정적이고 안전하며 효율적이고 비용 효과적인 애플리케이션을 설계하고 운영하는 방법을 알아보려면 AKS용 Azure Well-Architected Framework를 검토합니다.
- 참조 아키텍처를 사용하여 AKS에 대한 디자인 및 운영을 계획합니다.
- AKS의 비용 최적화를 위한 구성 옵션 및 권장 모범 사례를 살펴봅니다.
Azure Kubernetes Service