다음을 통해 공유


Azure 컨테이너 스토리지란?

Azure Container Storage는 기본적으로 컨테이너용으로 구축된 클라우드 기반 볼륨 관리, 배포 및 오케스트레이션 서비스입니다. Kubernetes와 통합되어 Kubernetes 클러스터에서 실행되는 상태 저장 애플리케이션의 데이터를 저장하기 위해 영구 볼륨을 동적으로 자동으로 프로비전할 수 있습니다.

Azure Container Storage 사용을 시작하려면 Azure Kubernetes Service에서 Azure Container Storage 사용을 참조하세요.

중요

이 문서에서는 현재 로컬 NVMe 디스크를 백업 스토리지로만 지원하는 Azure Container Storage(버전 2.x.x)에서 사용할 수 있는 기능과 기능에 대해 설명합니다. 이전 버전에 대한 자세한 내용은 Azure Container Storage(버전 1.x.x) 설명서를 참조하세요.

Azure 컨테이너 스토리지가 유용한 이유

일반적으로 컨테이너에 영구 스토리지를 사용하도록 설정하면 가상 머신용으로 설계된 스토리지 서비스와 연결하도록 CSI(Container Storage Interface) 드라이버를 수동으로 구성해야 했습니다. 이러한 접근 방식은 종종 애플리케이션 가용성, 확장성, 성능 및 비용으로 인해 운영 복잡성 및 잠재적인 문제를 증가시켰습니다.

Azure Container Storage는 완전히 관리되는 Kubernetes 네이티브 볼륨 오케스트레이션 솔루션을 제공하여 이 프로세스를 간소화합니다. Azure Container Storage를 사용하면 별도의 CSI 드라이버를 관리할 필요가 없습니다. 대신 기본 제공 스토리지 컨트롤러를 사용하여 Kubernetes 환경에서 직접 스토리지를 만들고 관리할 수 있습니다. 이렇게 하면 스토리지 관리가 컨테이너와 더 쉽고 통합됩니다.

Azure 컨테이너 스토리지를 사용하여 다음을 수행할 수 있습니다.

  • VM-컨테이너 채택을 가속화합니다 . Azure Container Storage를 사용하면 이전에 가상 머신에서만 사용할 수 있었던 동일한 빠르고 강력한 스토리지 옵션을 컨테이너에서 사용할 수 있습니다. 예를 들어 대기 시간이 매우 짧고 성능이 높은 워크로드(예: PostgreSQL) 및 AI/ML 워크로드(예: Ray 및 Kubeflow)에 로컬 NVMe 디스크를 사용할 수 있습니다.

  • Kubernetes를 사용하여 볼륨 관리를 간소화합니다 . Azure Container Storage를 사용하면 Kubernetes 네이티브 도구 및 워크플로를 통해 스토리지 볼륨을 직접 프로비전, 관리 및 모니터링할 수 있습니다. 이 통합 환경은 여러 관리 인터페이스 간에 전환할 필요가 없으므로 컨테이너화된 워크로드에 대한 스토리지 작업을 간소화합니다.

  • 오픈 소스에서 클라우드에 구애받지 않은 배포를 사용하도록 설정합니다 . Azure Container Storage는 오픈 소스 구성 요소를 사용하여 AKS(Azure Kubernetes Service) 및 자체 호스팅 Kubernetes 클러스터를 모두 지원합니다. 즉, Azure 또는 다른 클라우드에서 워크로드를 실행하여 다중 클라우드 또는 하이브리드 환경에서 스토리지를 보다 쉽게 관리할 수 있습니다.

주요 이점

  • 상태 저장 Pod의 원활한 크기 조정: Azure Container Storage는 NVMe-oF 또는 iSCSI와 같은 고성능 네트워크 블록 스토리지 프로토콜을 사용하여 영구 볼륨을 탑재하여 신속한 스케일링을 지원합니다. 이 방법을 사용하면 빠른 연결 및 분리 작업을 보장하므로 애플리케이션 중단의 위험 없이 리소스를 동적으로 확장하거나 축소할 수 있습니다. Pod 초기화 또는 장애 복구(failover) 중에는 클러스터 전체에 영구 볼륨을 빠르게 다시 할당하여 애플리케이션 복구력을 향상시키고 Kubernetes에서 대규모 상태 저장 워크로드를 지원할 수 있습니다.

  • 상태 저장 워크로드에 최적화된 성능: Azure Container Storage는 TCP를 통해 NVMe-oF를 사용하여 높은 읽기 처리량과 거의 네이티브 디스크 쓰기 속도를 제공합니다. 이 아키텍처를 사용하면 1단계 I/O 집약적, 범용, 처리량에 민감한 및 개발/테스트 시나리오를 포함하여 광범위한 컨테이너화된 워크로드에 비용 효율적인 성능을 제공할 수 있습니다. 또한 영구 볼륨 연결 및 분리 작업을 가속화하여 Pod 장애 조치(failover) 시간을 줄이고 애플리케이션의 복원력을 향상시킵니다.

  • Kubernetes 네이티브 볼륨 오케스트레이션: 스토리지 클래스 및 영구 볼륨을 원활하게 만들고, 프로비전, 확장, 삭제를 비롯한 볼륨의 전체 수명 주기를 관리하고, 모든 익숙한 kubectl 명령을 사용하여 스냅샷 캡처와 같은 작업을 수행합니다. 이 통합 접근 방식을 사용하면 서로 다른 도구 또는 인터페이스 간에 전환할 필요가 없으므로 Kubernetes 환경 내에서 스토리지 관리를 간소화할 수 있습니다.

지원되는 스토리지 형식

Azure Container Storage는 Linux 기반 Kubernetes 클러스터의 영구 볼륨에 대한 Kubernetes 네이티브 오케스트레이션 및 관리 계층을 제공합니다. 기존 Azure Storage 제품을 기본 데이터 저장소로 사용합니다. 현재 Azure Container Storage v2는 스토리지 백업을 위해 로컬 NVMe 디스크만 지원합니다.

스토리지 유형 설명 워크로드 제품 프로비전 모델
로컬 NVMe 디스크 AKS 노드에서 로컬 NVMe 디스크 활용 매우 짧은 대기 시간이 필요하고 데이터 내구성을 허용할 수 없거나 기본 제공 복제(예: PostgreSQL)가 있는 애플리케이션에 가장 적합합니다. 스토리지 최적화 VM 크기 및 GPU 가속 VM 크기와 같은 일부 Azure VM 크기에서 사용할 수 있습니다. Kubernetes 클러스터 내에 배포됩니다. 볼륨 배포를 위해 클러스터 노드에서 로컬 NVMe 디스크를 자동으로 검색하고 획득합니다.

다양한 스토리지 유형에 대한 기능 지원

다음 표에서는 Azure Container Storage의 주요 기능을 나열하고 로컬 NVMe 디스크에서 지원되는지를 나타냅니다.

기능 로컬 NVMe
임시 볼륨 지원됨
영구적 볼륨 지원됨1
PV 확장/크기 조정 지원됨
스냅샷 지원되지 않음
복제 지원되지 않음

1 기본적으로 Azure Container Storage는 로컬 NVMe 디스크에 일반 임시 볼륨을 사용하므로 Pod 삭제 후에는 데이터가 보존되지 않습니다. Pod의 수명 주기에 연결되지 않은 영구 볼륨을 사용하도록 설정하려면 영구 볼륨 클레임에 적절한 주석을 추가합니다. 자세한 내용은 로컬 NVMe 디스크를 사용하여 영구 볼륨 만들기를 참조하세요.

국가별 가용성

Azure Container Storage는 Azure 지역의 하위 집합에만 사용할 수 있습니다.

  • (아프리카) 남아프리카 북부
  • (아시아 태평양) 오스트레일리아 동부
  • (아시아 태평양) 동아시아
  • (아시아 태평양) 일본 동부
  • (아시아 태평양) 한국 중부
  • (아시아 태평양) 동남아시아
  • (아시아 태평양) 인도 중부
  • (유럽) 프랑스 중부
  • (유럽) 독일 중서부
  • (유럽) 북유럽
  • (유럽) 서유럽
  • (유럽) 영국 남부
  • (유럽) 스웨덴 중부
  • (유럽) 스위스 북부
  • (중동) UAE 북부
  • (북아메리카) 미국 동부
  • (북아메리카) 미국 동부 2
  • (북아메리카) 미국 서부
  • (북아메리카) 미국 서부 2
  • (북아메리카) 미국 서부 3
  • (북아메리카) 미국 중부
  • (북아메리카) 미국 중북부
  • (북아메리카) 미국 중남부
  • (북아메리카) 미국 중서부
  • (북아메리카) 캐나다 중부
  • (북아메리카) 캐나다 동부
  • (남미) 브라질 남부

주 버전 선택에 대한 고려 사항

Azure Container Storage는 v1 및 v2의 두 가지 주요 버전을 제공합니다. 기본 스토리지 옵션에 따라 적절한 버전을 선택합니다.

  • 로컬 NVMe 디스크: Azure Container Storage v2를 선택합니다.
  • Azure Disks: Azure Container Storage v1을 선택합니다. Azure Container Storage v2에는 아직 Azure Disks가 지원되지 않습니다.
  • Azure Elastic SAN: Azure Container Storage v1을 선택합니다. Azure Container Storage v2에는 아직 Azure Elastic SAN 지원이 없습니다.

용어

Azure Container Storage 및 Kubernetes 개념을 더 잘 탐색하려면 다음 필수 용어를 숙지하세요.

  • 컨테이너화

    운영 체제 및 필수 종속성만으로 애플리케이션 코드를 패킹하여 단일 실행 파일을 만드는 것입니다.

  • Kubernetes

    Kubernetes는 컨테이너화된 애플리케이션의 배포, 크기 조정, 관리를 자동화하기 위한 오픈 소스 시스템입니다.

  • AKS(Azure Kubernetes Service)

    Azure Kubernetes Service는 운영 오버헤드를 Azure로 오프로드하여 Azure의 관리형 Kubernetes 클러스터 배포를 단순화하는 호스트된 Kubernetes 서비스입니다. Azure는 상태 모니터링 및 유지 관리와 같은 중요한 작업을 처리합니다.

  • Cluster

    Kubernetes 클러스터는 컨테이너화된 애플리케이션을 실행하는 컴퓨팅 노드(VM) 집합입니다. 각 노드는 컨트롤 플레인에서 관리되며 Pod를 실행하는 데 필요한 서비스를 포함합니다.

  • Pod

    Pod는 스토리지 및 네트워크 리소스를 공유하는 하나 이상의 컨테이너로 이루어진 그룹이자 컨테이너를 실행하는 방법에 대한 사양입니다. Pod는 Kubernetes 클러스터에서 배포 가능한 가장 작은 단위입니다.

  • 스토리지 클래스

    Kubernetes 스토리지 클래스는 영구적 볼륨에서 스토리지 단위를 동적으로 생성되는 방법을 정의합니다. 자세한 내용은 Kubernetes 스토리지 클래스를 참조하세요.

  • 볼륨

    Kubernetes 볼륨은 지정된 Pod의 컨테이너에 액세스할 수 있는 데이터를 포함하는 디렉터리입니다. 볼륨은 영구적이거나 일시적일 수 있습니다. 볼륨은 스토리지 풀 내에서 씬 프로비전되며 스토리지 풀의 성능 특성(IOPS, 대역폭 및 용량)을 공유합니다.

  • 영구 볼륨

    영구 볼륨은 VM의 디스크와 같습니다. 파일 시스템을 탑재하는 데 사용할 수 있는 원시 블록 디바이스를 나타냅니다. 애플리케이션 개발자는 애플리케이션 또는 Pod 정의와 함께 영구 볼륨을 만들고, 볼륨은 종종 상태 저장 애플리케이션의 수명 주기에 연결됩니다. 자세한 내용은 영구 볼륨을 참조하세요.

  • PVC(영구 볼륨 클레임)

    영구 볼륨 클레임을 사용하여 스토리지 클래스를 기반으로 하는 스토리지를 자동으로 프로비전합니다.

다음 단계