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:
- 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ä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