Dela via


Använda beständiga volymer med AKS aktiverat av Arc

Gäller för: AKS på Azure Stack HCI 22H2, AKS på Windows Server

Den här artikeln beskriver hur du etablerar, använder och tar bort beständiga volymer som tillhandahåller långsiktig lagring för användning med Kubernetes-poddar i AKS som aktiveras av Azure Arc (AKS Arc).

En beständiga volym representerar en lagringsdel som har etablerats för användning med Kubernetes-poddar. En beständiga 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ändiga volym för både Windows- och Linux-noder, men den här artikeln beskriver 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

Här är vad du behöver för att komma igång:

Skapa ett beständigt volymanspråk

Ett beständiga 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. Använd 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:

Utdata:

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.yamloch kopierar och klistrar in följande YAML-definition. Skapa sedan en podd med åtkomst till det beständiga volymanspråket och vhdx.

I följande YAML-definition mountPath är sökvägen till 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 den här YAML-definitionen kör du:

kubectl create -f winwebserver.yaml 

Kör följande kommando för att se till att podden körs. 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 följande kommando:

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