Używanie woluminów trwałych z usługą AKS włączoną przez usługę Azure Arc

Dotyczy: usługa AKS w usłudze Azure Stack HCI 22H2, AKS w systemie Windows Server

W tym artykule opisano sposób aprowizowania, używania i usuwania woluminów trwałych, które zapewniają długoterminowy magazyn do użycia z zasobnikami Kubernetes w usłudze AKS w usłudze Azure Arc (AKS Arc).

Trwały wolumin reprezentuje część magazynu, która została aprowizowana do użycia z zasobnikami Kubernetes. Wolumin trwały może być używany przez co najmniej jeden zasobnik i jest przeznaczony do przechowywania długoterminowego. Jest ona również niezależna od cykli życia zasobnika lub węzła.

Chociaż można aprowizować trwały wolumin dla węzłów systemu Windows i Linux, w tym artykule opisano sposób tworzenia trwałego woluminu do użycia w aplikacji systemu Windows. Aby uzyskać więcej informacji, zobacz Trwałe woluminy na platformie Kubernetes.

Zanim rozpoczniesz

Oto, czego potrzebujesz, aby rozpocząć pracę:

Twórca oświadczenia trwałego woluminu

Trwałe oświadczenie woluminu (PVC) służy do automatycznego aprowizowania magazynu na podstawie klasy magazynu. Aby utworzyć oświadczenie woluminu, najpierw utwórz plik o nazwie pvc-akshci-csi.yaml i skopiuj i wklej następującą definicję YAML. PCV wymaga dysku o rozmiarze 10 GB z dostępem ReadWriteOnce . Domyślna klasa magazynu jest określana jako klasa magazynu (vhdx).

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

Aby utworzyć wolumin, uruchom następujące polecenia w administracyjnej sesji programu PowerShell na jednym z serwerów w klastrze Azure Stack HCI. Użyj metody, takiej jak Enter-PSSession lub Pulpit zdalny, aby nawiązać połączenie z serwerem.

kubectl create -f pvc-akshci-csi.yaml 

Następujące dane wyjściowe pokazują, że oświadczenie trwałego woluminu zostało pomyślnie utworzone:

Dane wyjściowe:

persistentvolumeclaim/pvc-akshci-csi created

Używanie woluminu trwałego

Aby użyć woluminu trwałego, utwórz plik o nazwie winwebserver.yaml i skopiuj i wklej następującą definicję YAML. Następnie utwórz zasobnik z dostępem do trwałego oświadczenia woluminu i dysku vhdx.

W poniższej definicji mountPath YAML jest ścieżką do zainstalowania woluminu wewnątrz kontenera. Po pomyślnym utworzeniu zasobnika zobaczysz podkatalog utworzony w katalogu C:\ i podkatalog akshciscsi utworzony wewnątrz mnt.

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 

Aby utworzyć zasobnik z powyższą definicją YAML, uruchom polecenie:

kubectl create -f winwebserver.yaml 

Aby upewnić się, że zasobnik jest uruchomiony, wykonaj następujące polecenie. Poczekaj kilka minut, aż zasobnik będzie w stanie uruchomienia, ponieważ ściąganie obrazu zajmuje trochę czasu:

kubectl get pods -o wide 

Po uruchomieniu zasobnika wyświetl stan zasobnika, uruchamiając następujące polecenie:

kubectl.exe describe pod %podName% 

Aby sprawdzić, czy wolumin został zainstalowany w zasobniku, uruchom następujące polecenie:

kubectl exec -it %podname% cmd.exe 

Usuwanie trwałego oświadczenia woluminu

Przed usunięciem trwałego oświadczenia woluminu należy usunąć wdrożenie aplikacji, uruchamiając następujące polecenie:

kubectl delete deployments win-webserver

Następnie można usunąć oświadczenie trwałego woluminu, uruchamiając polecenie:

kubectl delete PersistentVolumeClaim pvc-akshci-csi

Następne kroki