Använda en beständig volym med Azure Kubernetes Service på Azure Stack HCI och Windows Server

Gäller för: Azure Stack HCI och Windows Server

Du kan konfigurera en beständig volym på Azure Kubernetes Service (AKS) på Azure Stack HCI och Windows Server. En beständig volym är den term som används för att representera en lagringsdel som har etablerats för användning med Kubernetes-poddar. En beständig volym kan användas av en eller flera poddar och är avsedd för långsiktig lagring. Den är också oberoende av podd- eller nodlivscykler.

Du kan etablera en beständig volym för både Windows- och Linux-noder, men den här artikeln visar hur du skapar en beständig volym för användning i ditt Windows-program. Mer information finns i Beständiga volymer i Kubernetes.

Innan du börjar

Det här behöver du för att komma igång:

Skapa ett beständigt volymanspråk

Ett beständigt volymanspråk (PVC) används för att automatiskt etablera lagring baserat på en lagringsklass. Skapa ett volymanspråk genom att först skapa en fil med namnet pvc-akshci-csi.yaml och kopiera och klistra in följande YAML-definition. PVC kräver en disk som är 10 GB stor med ReadWriteOnce-åtkomst . Standardlagringsklassen anges som lagringsklass (vhdx).

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

Om du vill skapa volymen kör du följande kommandon i en administrativ PowerShell-session på en av servrarna i Azure Stack HCI-klustret (med hjälp av en metod som Enter-PSSession eller Fjärrskrivbord för att ansluta till servern):

kubectl create -f pvc-akshci-csi.yaml 

Följande utdata visar att ditt beständiga volymanspråk har skapats:

Produktionen:

persistentvolumeclaim/pvc-akshci-csi created

Använda beständiga volymer

Om du vill använda en beständig volym skapar du en fil med namnet winwebserver.yaml och kopierar och klistrar in följande YAML-definition. Skapa sedan en podd med åtkomst till det beständiga volymanspråket och vhdx.

I yaml-definitionen nedan är mountPath sökvägen för att montera en volym i en container. När podden har skapats visas underkatalogen mnt som skapats i C:\ och underkatalogen akshciscsi som skapats i 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 

Om du vill skapa en podd med ovanstående yaml-definition kör du:

kubectl create -f winwebserver.yaml 

Kontrollera att podden körs genom att köra följande kommando. Vänta några minuter tills podden är i ett körningstillstånd, eftersom det tar tid att hämta avbildningen.

kubectl get pods -o wide 

När podden körs visar du poddstatusen genom att köra följande kommando:

kubectl.exe describe pod %podName% 

Kontrollera att volymen har monterats i podden genom att köra följande kommando:

kubectl exec -it %podname% cmd.exe 

Ta bort ett beständigt volymanspråk

Innan du tar bort ett beständiga volymanspråk måste du ta bort appdistributionen genom att köra:

kubectl delete deployments win-webserver

Du kan sedan ta bort ett beständigt volymanspråk genom att köra:

kubectl delete PersistentVolumeClaim pvc-akshci-csi

Nästa steg