Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Deze zelfstudie introduceert Azure Container Storage en laat zien hoe u containereigen opslag implementeert en beheert voor toepassingen die worden uitgevoerd in Azure Kubernetes Service (AKS). Als u Azure Container Storage nu niet wilt implementeren, kunt u deze zelfstudie overslaan en rechtstreeks doorgaan met het implementeren van een toepassing in AKS. U hebt Azure Container Storage niet nodig voor de basic storefront-toepassing in deze reeks zelfstudies.
Azure Container Storage vereenvoudigt het beheer van stateful toepassingen in Kubernetes door containereigen opslag aan te bieden die is afgestemd op verschillende workloads, waaronder databases, analyseplatforms en hoogwaardige toepassingen.
Belangrijk
Deze zelfstudie is alleen van toepassing op AKS Standard-clusters. Als u in de vorige zelfstudie voor AKS Automatisch hebt gekozen, slaat u deze zelfstudie over en gaat u verder met het implementeren van een toepassing in AKS.
Aan het einde van deze zelfstudie gaat u het volgende doen:
- Meer informatie over hoe Azure Container Storage ondersteuning biedt voor diverse workloads in Kubernetes.
- Azure Container Storage implementeren in uw AKS-cluster.
- Maak een generiek ephemeraal volume.
Voordat u begint
In eerdere zelfstudies hebt u een containerimage gemaakt, deze geüpload naar een ACR-instance en een AKS-cluster gemaakt. Begin met Handleiding 1 - bereid de toepassing voor om verder te gaan met AKS.
In deze zelfstudie worden factureerbare resources gemaakt en zijn machtigingen vereist voor het bijwerken van AKS-clusterinstellingen en het installeren van extensies. Gebruik een identiteit met ten minste inzendertoegang tot de resourcegroep die uw AKS-cluster bevat.
Controleer of uw doelregio wordt ondersteund door de regionale beschikbaarheid van Azure Container Storage te controleren.
Installeer de nieuwste versie van de Azure CLI (2.83.0 of hoger) en meld u aan met
az login. Gebruik Azure Cloud Shell niet, omdataz upgradedeze niet beschikbaar is.Installeer de Kubernetes-opdrachtregelclient.
kubectlU kunt deze lokaal installeren door deze uit te voerenaz aks install-cli. Zie Kubectl installeren voor andere installatieopties.
Belangrijk
Deze zelfstudie is van toepassing op Azure Container Storage (versie 2.x.x), die ondersteuning biedt voor lokale NVMe-schijven en Azure Elastic SAN als back-upopslagtypen. In deze handleiding wordt gebruikgemaakt van lokale NVMe en wordt een algemeen tijdelijk volume gemaakt. Als u lokale NVMe wilt gebruiken, moet uw VM-SKU lokale NVMe-gegevensschijven ondersteunen, zoals voor opslag geoptimaliseerde of gpu-versnelde VM's .
Als u liever Azure Elastic SAN wilt gebruiken, raadpleegt u Azure Container Storage gebruiken met Azure Elastic SAN.
De Kubernetes-extensie installeren
Installeer of upgrade naar de nieuwste versie van k8s-extension door de volgende opdracht uit te voeren.
az extension add --upgrade --name k8s-extension
Controleer of de extensie beschikbaar is voordat u doorgaat:
az extension show --name k8s-extension --query version --output tsv
Azure Container Storage inschakelen op uw AKS-cluster
Voer de volgende opdracht uit om Azure Container Storage in te schakelen op een bestaand AKS-cluster met behulp van lokale NVMe. Azure Container Storage installeert automatisch de meest recente beschikbare versie en werkt automatisch bij. Handmatige versieselectie wordt niet ondersteund.
az aks update -n myAKSCluster -g myResourceGroup --enable-azure-container-storage ephemeralDisk
Als deze opdracht mislukt met een autorisatiefout, voert u de opdracht uit az account show om het actieve abonnement te verifiëren en te bevestigen dat uw identiteit gemachtigd is om het AKS-cluster bij te werken.
De implementatie kan maximaal vijf minuten duren. Wanneer dit is voltooid, is Azure Container Storage op het AKS-cluster geïnstalleerd en zijn de onderdelen voor het lokale NVMe-opslagtype geïmplementeerd. Er wordt ook de standaardopslagklasse local-csi gemaakt.
Verbinding maken met het cluster en de status controleren
Als u nog niet bent verbonden met uw cluster uit de vorige zelfstudie, voert u de volgende opdrachten uit. Als u al verbinding hebt, kunt u deze sectie overslaan.
Download de clusterreferenties en configureer de Kubernetes CLI om deze te gebruiken. Referenties worden standaard opgeslagen in
~/.kube/config. Geef indien nodig een ander pad op met behulp van het--fileargument.az aks get-credentials --resource-group myResourceGroup --name myAKSClusterGa door nadat de opdracht rapporteert dat contextvermeldingen zijn samengevoegd in
~/.kube/config.Controleer de verbinding door de clusterknooppunten te vermelden.
kubectl get nodesZorg ervoor dat alle knooppunten een status van
Ready.
De opslagklasse controleren
Voer de volgende opdracht uit om te controleren of de opslagklasse is gemaakt:
kubectl get storageclass local-csi
De uitvoer moet er ongeveer zo uitzien:
NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE
local-csi localdisk.csi.acstor.io Delete WaitForFirstConsumer true 10s
Een pod implementeren met een algemeen kortstondig volume
Maak een pod met Fio (Flexible I/O Tester) voor benchmarking en workloadsimulatie die gebruikmaakt van een algemeen kortstondig volume.
Maak een YAML-manifestbestand met de naam
fiopod.yaml. Voer bijvoorbeeld het volgende uitcode fiopod.yaml.Plak de volgende code en sla het bestand op.
kind: Pod apiVersion: v1 metadata: name: fiopod spec: nodeSelector: "kubernetes.io/os": linux containers: - name: fio image: mayadata/fio args: ["sleep", "1000000"] volumeMounts: - mountPath: "/volume" name: ephemeralvolume volumes: - name: ephemeralvolume ephemeral: volumeClaimTemplate: spec: volumeMode: Filesystem accessModes: ["ReadWriteOnce"] storageClassName: local-csi resources: requests: storage: 10GiPas het YAML-manifestbestand toe om de pod te implementeren.
kubectl apply -f fiopod.yaml
De implementatie controleren en benchmarks uitvoeren
Controleer of de pod draait.
kubectl get pod fiopod
U zou de pod in de status Running moeten zien. Zodra deze is uitgevoerd, kunt u een Fio-benchmarktest uitvoeren:
kubectl exec -it fiopod -- fio --name=benchtest --size=800m --filename=/volume/test --direct=1 --rw=randrw --ioengine=libaio --bs=4k --iodepth=16 --numjobs=8 --time_based --runtime=60
U hebt nu een pod geïmplementeerd die lokale NVMe als opslag gebruikt en u kunt deze gebruiken voor uw Kubernetes-workloads.
Om meer te leren over Azure Container Storage, zie Wat is Azure Container Storage?
De hulpbronnen opschonen
U hebt Azure Container Storage niet nodig voor de rest van deze reeks zelfstudies. Daarom raden we u aan deze nu te verwijderen om onnodige Azure-kosten te voorkomen.
Verwijder de pod.
kubectl delete pod fiopodVerwijder het generieke tijdelijke volume.
kubectl delete pv ephemeralvolumeAls deze opdracht
NotFoundoplevert, gaat u verder. Generieke tijdelijke volumes worden automatisch verwijderd wanneer de pod wordt verwijderd.Verwijder het extensie-exemplaar.
az aks update -n myAKSCluster -g myResourceGroup --disable-azure-container-storage
Volgende stap
In deze zelfstudie hebt u Azure Container Storage geïmplementeerd in uw AKS-cluster. U hebt geleerd hoe u het volgende kunt doen:
- Schakel Azure Container Storage in op uw AKS-cluster.
- Implementeer een pod met een algemeen kortstondig volume.
In de volgende zelfstudie leert u hoe u een toepassing implementeert in uw cluster.