Udostępnij przez


Używanie woluminów trwałych z usługą AKS w systemie Windows Server

Dotyczy: usługa AKS w systemie Windows Server

W tym artykule opisano sposób aprowizowania, używania i usuwania trwałych woluminów, które zapewniają długoterminowe przechowywanie do użycia z podami Kubernetes w usłudze AKS w systemie Windows Server.

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. Więcej informacji znajdziesz w Trwałe woluminy w Kubernetes.

Zanim rozpoczniesz

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

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

Żądanie trwałego wolumenu

Żądanie trwałego woluminu (PVC) służy do automatycznego aprowizowania przechowywania na podstawie klasy pamięci. Aby utworzyć żądanie dotyczące woluminu, najpierw utwórz plik o nazwie pvc-akshci-csi.yaml i skopiuj oraz 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 systemu Windows Server. 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ący wynik pokazuje, że żądanie trwałego wolumenu 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 żądania trwałego wolumenu i pliku vhdx.

W poniższej definicji YAML, mountPath jest ścieżką do zamontowania woluminu wewnątrz kontenera. Po pomyślnym utworzeniu poda zobaczysz podkatalog mnt utworzony w C:\ oraz 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 tą definicją YAML, uruchom polecenie:

kubectl create -f winwebserver.yaml 

Aby upewnić się, że pod jest uruchomiony, wykonaj następujące polecenie. Poczekaj kilka minut, aż zasobnik osiągnie stan pracy, ponieważ pobieranie 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ł zamontowany w podzie, uruchom następujące polecenie:

kubectl exec -it %podname% cmd.exe 

Usuń żądanie trwałego woluminu

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

kubectl delete deployments win-webserver

Następnie możesz usunąć żądanie trwałego wolumenu, uruchamiając polecenie:

kubectl delete PersistentVolumeClaim pvc-akshci-csi

Następne kroki