다음을 통해 공유


Arc에서 사용하도록 설정된 AKS에서 영구 볼륨 사용

적용 대상: Azure Stack HCI 22H2의 AKS, Windows Server의 AKS

이 문서에서는 AKS Arc(Azure Arc)에서 사용하도록 설정된 AKS의 Kubernetes Pod에 사용할 장기 스토리지를 제공하는 영구 볼륨을 프로비전, 사용 및 삭제하는 방법을 설명합니다.

영구 볼륨은 Kubernetes Pod와 함께 사용하도록 프로비전된 스토리지의 일부를 나타냅니다. 영구 볼륨은 하나 이상의 Pod에서 사용할 수 있으며 장기 스토리지를 위한 것입니다. Pod 또는 노드 수명 주기와도 독립적입니다.

Windows 및 Linux 노드 모두에 대해 영구 볼륨을 프로비전할 수 있지만 이 문서에서는 Windows 애플리케이션에서 사용할 영구 볼륨을 만드는 방법을 설명합니다. 자세한 내용은 Kubernetes의 영구 볼륨을 참조 하세요.

시작하기 전에

시작하기 위해 필요한 항목은 다음과 같습니다.

영구적 볼륨 클레임 만들기

PVC(영구적 볼륨 클레임)을 사용하여 스토리지 클래스를 기반으로 하는 스토리지를 자동으로 프로비전합니다. 볼륨 클레임을 만들려면 먼저 명명된 pvc-akshci-csi.yaml 파일을 만들고 다음 YAML 정의를 복사하여 붙여넣습니다. PVC에는 ReadWriteOnce 액세스 권한이 있는 10GB 크기의 디스크가 필요합니다. 기본 스토리지 클래스는 스토리지 클래스(vhdx)로 지정됩니다.

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
 name: pvc-akshci-csi
spec:
 accessModes:
 - ReadWriteOnce
 resources:
  requests:
   storage: 10Gi

볼륨을 만들려면 Azure 로컬 클러스터의 서버 중 하나에서 관리 PowerShell 세션에서 다음 명령을 실행합니다. Enter-PSSession 또는 원격 데스크톱과 같은 메서드를 사용하여 서버에 연결합니다.

kubectl create -f pvc-akshci-csi.yaml 

다음 출력은 영구 볼륨 클레임이 성공적으로 생성되었음을 보여 줍니다.

출력:

persistentvolumeclaim/pvc-akshci-csi created

영구 볼륨 사용

영구 볼륨을 사용하려면 이름이 지정된 winwebserver.yaml파일을 만들고 다음 YAML 정의를 복사하여 붙여넣습니다. 그런 다음 영구 볼륨 클레임 및 vhdx에 대한 액세스 권한이 있는 Pod를 만듭니다.

다음 YAML 정의 mountPath 에서 컨테이너 내부에 볼륨을 탑재하는 경로입니다. Pod를 성공적으로 만든 후에는 C:\에서 생성된 하위 디렉터리 mnt와 mnt 내에서 생성된 하위 디렉터리 akshciscsi표시됩니다.

apiVersion: apps/v1 
kind: Deployment 
metadata: 
  labels: 
    app: win-webserver 
  name: win-webserver 
spec: 
  replicas: 1 
  selector: 
    matchLabels: 
      app: win-webserver 
  template: 
    metadata: 
      labels: 
        app: win-webserver 
      name: win-webserver 
    spec: 
     containers: 
      - name: windowswebserver 
        image: mcr.microsoft.com/windows/servercore/iis:windowsservercore-ltsc2019 
        ports:  
          - containerPort: 80    
        volumeMounts: 
            - name: akshciscsi 
              mountPath: "/mnt/akshciscsi" 
     volumes: 
        - name: akshciscsi 
          persistentVolumeClaim: 
            claimName:  pvc-akshci-csi 
     nodeSelector: 
      kubernetes.io/os: windows 

이 YAML 정의를 사용하여 Pod를 만들려면 다음을 실행합니다.

kubectl create -f winwebserver.yaml 

Pod가 실행 중인지 확인하려면 다음 명령을 실행합니다. 이미지를 끌어당기는 데 시간이 걸리므로 Pod가 실행 중 상태가 될 때까지 몇 분 정도 기다립니다.

kubectl get pods -o wide 

Pod가 실행되면 다음 명령을 실행하여 Pod 상태를 확인합니다.

kubectl.exe describe pod %podName% 

볼륨이 Pod에 탑재되었는지 확인하려면 다음 명령을 실행합니다.

kubectl exec -it %podname% cmd.exe 

영구 볼륨 클레임 삭제

영구 볼륨 클레임을 삭제하기 전에 다음 명령을 실행하여 앱 배포를 삭제해야 합니다.

kubectl delete deployments win-webserver

그런 다음, 다음을 실행하여 영구 볼륨 클레임을 삭제할 수 있습니다.

kubectl delete PersistentVolumeClaim pvc-akshci-csi

다음 단계