다음을 통해 공유


Azure Container Storage에서 다중 영역 스토리지 중복 사용

다중 영역 AKS(Azure Kubernetes Service) 클러스터에서 Azure Container Storage를 사용하는 경우 다중 영역 스토리지 풀 및 ZRS(영역 중복 스토리지) 디스크를 사용하여 상태 저장 애플리케이션 가용성을 향상시킬 수 있습니다. 가용성 영역을 사용하는 AKS 클러스터를 만들려면 Azure Kubernetes Service의 가용성 영역 사용을 참조하세요.

필수 조건

  • 이 문서에는 Azure CLI의 최신 버전(2.35.0 이상)이 필요합니다. Azure CLI를 설치하는 방법을 참조하세요. Azure Cloud Shell을 사용하는 경우 최신 버전이 이미 설치되어 있습니다. Azure Cloud Shell 대신 로컬로 명령을 실행하려는 경우 관리자 권한으로 명령을 실행해야 합니다.
  • 클러스터 노드에 대해 각각 최소 4개의 vCPU(가상 CPU)가 있는 3개 이상의 VM(가상 머신)의 노드 풀이 있는 AKS 클러스터가 필요합니다.
  • 이 문서에서는 AKS 클러스터에 Azure Container Storage가 이미 설치되어 있다고 가정합니다.
  • Kubernetes 명령줄 클라이언트 kubectl이 필요합니다. Azure Cloud Shell을 사용 중인 경우 이미 설치되어 있는 것이며, 그렇지 않은 경우 az aks install-cli 명령을 실행하여 로컬로 설치할 수 있습니다.

다중 영역 스토리지 풀 만들기

스토리지 풀 정의에서 스토리지 용량을 분산할 영역을 지정할 수 있습니다. 총 스토리지 풀 용량은 지정된 영역 수에 균등하게 분산됩니다. 예를 들어 두 영역을 지정하면 각 영역은 스토리지 풀 용량의 절반을 가져옵니다. 3개의 영역을 지정하면 각 영역은 총 용량의 3분의 1을 가져옵니다. 해당 스토리지는 각 영역에 프로비전됩니다. 이는 Cassandra와 같은 애플리케이션 수준 복제를 제공하는 워크로드를 실행할 때 유용합니다.

지정된 영역에서 사용할 수 있는 노드가 없는 경우 해당 영역에서 노드를 사용할 수 있게 되면 용량이 프로비전됩니다. PV(영구 볼륨)는 한 영역의 스토리지 풀 용량에서만 만들 수 있습니다.

zones에 유효한 값은 다음과 같습니다.

  • ["1"]
  • ["2"]
  • ["3"]
  • ["1", "2"]
  • ["1", "3"]
  • ["2", "3"]
  • ["1", "2", "3"]

다음 단계에 따라 Azure Disks를 사용하는 다중 영역 스토리지 풀을 만듭니다. zones에 유효한 값 필드를 선택합니다.

  1. 즐겨찾는 텍스트 편집기를 사용하여 code acstor-multizone-storagepool.yaml과 같은 YAML 매니페스트 파일을 만듭니다.

  2. 다음 코드를 붙여넣고 파일을 저장합니다. 스토리지 풀 name 값은 원하는 대로 지정할 수 있습니다. 스토리지는 풀의 저장 용량을 Gi 또는 Ti 단위로 지정합니다.

    apiVersion: containerstorage.azure.com/v1
    kind: StoragePool
    metadata:
      name: azuredisk
      namespace: acstor
    spec:
      zones: ["1", "2", "3"]
      poolType:
        azureDisk: {}
      resources:
        requests:
          storage: 1Ti
    
  3. YAML 매니페스트 파일을 적용하여 다중 영역 스토리지 풀을 만듭니다.

    kubectl apply -f acstor-multizone-storagepool.yaml 
    

ZRS(영역 중복 스토리지) 디스크 사용

워크로드에 스토리지 중복성이 필요한 경우 주 지역의 세 Azure 가용성 영역에서 데이터를 동기적으로 복사하는 영역 중복 스토리지를 사용하는 디스크를 활용할 수 있습니다.

다음 예제와 같이 스토리지 풀 정의에서 디스크 skuNameStandardSSD_ZRS 또는 Premium_ZRS로 지정할 수 있습니다.

apiVersion: containerstorage.azure.com/v1
kind: StoragePool
metadata:
  name: azuredisk
  namespace: acstor
spec:
  poolType:
    azureDisk:
      skuName: Premium_ZRS
  resources:
    requests:
      storage: 1Ti

참고 항목