Udostępnij za pośrednictwem


Używanie woluminów trwałych z usługą AKS włączoną przez usługę 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 trwałych woluminów, które zapewniają długoterminowy magazyn do użycia z zasobnikami Kubernetes w usłudze AKS w usłudze Azure Arc (AKS Arc).

Wolumin trwały reprezentuje element magazynu, który został aprowizowany 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ć wolumin trwały 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ę:

  • Klaster Kubernetes z co najmniej jednym węzłem procesu roboczego systemu Windows.
  • Plik kubeconfig umożliwiający dostęp do klastra Kubernetes.

Tworzenie trwałego oświadczenia 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 sesji administracyjnej 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:

Wyjście:

persistentvolumeclaim/pvc-akshci-csi created

Używanie woluminu trwałego

Aby użyć woluminu trwałego, utwórz plik o nazwie winwebserver.yamli skopiuj i wklej następującą definicję YAML. Następnie utwórz zasobnik z dostępem do trwałego oświadczenia woluminu i 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 obiektu 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 tą 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 jest 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żesz usunąć trwałe oświadczenie woluminu, uruchamiając polecenie:

kubectl delete PersistentVolumeClaim pvc-akshci-csi

Następne kroki