Dela via


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

Gäller för: AKS på Azure Local 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 Local-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