Permanente volumes gebruiken met AKS ingeschakeld door Arc
Van toepassing op: AKS in Azure Local 22H2, AKS op Windows Server
In dit artikel wordt beschreven hoe u permanente volumes inricht, gebruikt en verwijdert die langetermijnopslag bieden voor gebruik met Kubernetes-pods in AKS die zijn ingeschakeld door Azure Arc (AKS Arc).
Een permanent volume vertegenwoordigt een stukje opslag dat is ingericht voor gebruik met Kubernetes-pods. Een permanent volume kan worden gebruikt door een of meer pods en is bedoeld voor langetermijnopslag. Het is ook onafhankelijk van de levenscyclus van pods of knooppunten.
Hoewel u een permanent volume voor zowel Windows- als Linux-knooppunten kunt inrichten, wordt in dit artikel beschreven hoe u een permanent volume maakt voor gebruik in uw Windows-toepassing. Zie Permanente volumes in Kubernetes voor meer informatie.
Voordat u begint
Dit is wat u nodig hebt om aan de slag te gaan:
- Een Kubernetes-cluster met ten minste één Windows-werkknooppunt.
- Een kubeconfig-bestand voor toegang tot het Kubernetes-cluster.
Een permanente volumeclaim maken
Een permanente volumeclaim (PVC) wordt gebruikt om automatisch opslag in te richten op basis van een opslagklasse. Als u een volumeclaim wilt maken, maakt u eerst een bestand met de naam pvc-akshci-csi.yaml
en kopieert en plakt u de volgende YAML-definitie. De PVC vereist een schijf die 10 GB groot is met ReadWriteOnce-toegang . De standaardopslagklasse wordt opgegeven als de opslagklasse (vhdx).
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pvc-akshci-csi
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi
Als u het volume wilt maken, voert u de volgende opdrachten uit in een PowerShell-sessie met beheerdersrechten op een van de servers in het lokale Azure-cluster. Gebruik een methode zoals Enter-PSSession of Extern bureaublad om verbinding te maken met de server.
kubectl create -f pvc-akshci-csi.yaml
In de volgende uitvoer ziet u dat uw permanente volumeclaim is gemaakt:
Uitvoer:
persistentvolumeclaim/pvc-akshci-csi created
Permanent volume gebruiken
Als u een permanent volume wilt gebruiken, maakt u een bestand met de naam winwebserver.yaml
en kopieert en plakt u de volgende YAML-definitie. Maak vervolgens een pod met toegang tot de permanente volumeclaim en vhdx.
In de volgende YAML-definitie mountPath
is het pad om een volume in een container te koppelen. Nadat een pod is gemaakt, ziet u de submap mnt die is gemaakt in C:\ en de submap akshciscsi die in mnt is gemaakt:
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
Als u een pod wilt maken met deze YAML-definitie, voert u het volgende uit:
kubectl create -f winwebserver.yaml
Voer de volgende opdracht uit om ervoor te zorgen dat de pod wordt uitgevoerd. Wacht enkele minuten totdat de pod actief is, omdat het ophalen van de installatiekopie tijd kost:
kubectl get pods -o wide
Zodra uw pod wordt uitgevoerd, bekijkt u de podstatus door de volgende opdracht uit te voeren:
kubectl.exe describe pod %podName%
Voer de volgende opdracht uit om te controleren of het volume is gekoppeld in de pod:
kubectl exec -it %podname% cmd.exe
Een permanente volumeclaim verwijderen
Voordat u een permanente volumeclaim verwijdert, moet u de app-implementatie verwijderen door de volgende opdracht uit te voeren:
kubectl delete deployments win-webserver
U kunt vervolgens een permanente volumeclaim verwijderen door het volgende uit te voeren:
kubectl delete PersistentVolumeClaim pvc-akshci-csi