Używanie trwałego woluminu w uterze usługi AKS Azure Stack HCI klastra

Dotyczy: Azure Stack HCI, wersje 21H2 i 20H2; Windows Server 2022 Datacenter, Windows Server 2019 Datacenter

Trwały wolumin reprezentuje fragment magazynu, który został zaaprowizowany do użytku z zasobnikami kubernetes. Wolumin trwały może być używany przez co najmniej jeden zasobnik i jest przeznaczony do przechowywania długoterminowego. Jest on również niezależny od cyklu życia zasobnika lub węzła. W tej sekcji można aprowizować usługę DOSTĘPNĄ zarówno dla węzłów systemu Windows, jak i Linux, ale w tej sekcji dowiesz się, jak utworzyć wolumin trwały i jak używać tego woluminu w Windows aplikacji. Aby uzyskać więcej informacji, zobacz Trwałe woluminy na platformie Kubernetes.

Zanim rozpoczniesz

Oto co jest potrzebne do rozpoczęcia pracy:

Tworzenie trwałego oświadczenia woluminu

Trwałe oświadczenie woluminu jest używane do automatycznego aprowizować magazyn na podstawie klasy magazynu. Aby utworzyć oświadczenie woluminu, najpierw utwórz plik o nazwie pvc-akshci-csi.yaml i skopiuj go w poniższej definicji YAML. Oświadczenie żąda 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

Utwórz wolumin, uruchamiając następujące polecenia w sesji administracyjnej programu PowerShell na jednym z serwerów w klastrze programu Azure Stack HCI (przy użyciu metody takiej jak Enter-PSSession lub Pulpit zdalny w celu nawiązania połączenia z serwerem):

kubectl create -f pvc-akshci-csi.yaml 

Następujące dane wyjściowe pokażą, że trwałe oświadczenie 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.yaml i skopiuj go w poniższej definicji YAML. Następnie utworzysz zasobnik z dostępem do trwałego oświadczenia woluminu i vhdx.

W poniższej definicji yaml ścieżka mountPath jest ścieżką do instalacji woluminu w kontenerze. Po pomyślnym utworzeniu zasobnika zostanie wyświetlony podkatalog utworzony w folderze C:\ i podkatalog akshciscsi utworzony wewnątrz folderu 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ższymi definicjami yaml, uruchom:

kubectl create -f winwebserver.yaml 

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

kubectl get pods -o wide 

Po uruchomieniu zasobnika wyświetl jego stan, 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:

kubectl delete deployments win-webserver

Następnie możesz usunąć trwałe oświadczenie woluminu, uruchamiając:

kubectl delete PersistentVolumeClaim pvc-akshci-csi

Następne kroki