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:
- Ett Kubernetes-kluster med minst en Windows-arbetsnod.
- En kubeconfig-fil för åtkomst till Kubernetes-klustret.
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.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 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