Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här självstudien introducerar Azure Container Storage och visar hur du distribuerar och hanterar containerinbyggt lagringsutrymme för program som körs i Azure Kubernetes Service (AKS). Om du inte vill distribuera Azure Container Storage nu kan du hoppa över den här självstudien och fortsätta direkt till Distribuera ett program i AKS. Du behöver inte Azure Container Storage för det grundläggande storefront-programmet i den här självstudieserien.
Viktigt!
Den här artikeln beskriver hur du installerar Azure Container Storage (version 1.x.x), som nu uttryckligen kräver en parameter för versionstappning --container-storage-version 1 för installation.
Azure Container Storage (version 2.x.x) är nu tillgängligt.
Azure Container Storage förenklar hanteringen av tillståndskänsliga program i Kubernetes genom att erbjuda containerbaserad lagring skräddarsydd för en mängd olika arbetsbelastningar, inklusive databaser, analysplattformar och högpresterande program.
I slutet av den här självstudien kommer du att:
- Förstå hur Azure Container Storage stöder olika arbetsbelastningar i Kubernetes.
- Utforska flera alternativ för lagringsserverdel för att skräddarsy lagring efter programmets behov.
- Distribuera Azure Container Storage (version 1.x.x) på ditt AKS-kluster och skapa en allmän tillfällig volym.
Innan du börjar
I tidigare självstudier skapade du en containeravbildning, laddade upp den till en ACR-instans och skapade ett AKS-kluster. Börja med Självstudie 1 – Förbered applikationen för AKS för att följa med.
- Den här självstudien kräver att du använder Azure CLI version 2.35.0 eller senare. Portalen och PowerShell stöds för närvarande inte för Azure Container Storage. Kontrollera din version med
az --version. Information om hur du installerar eller uppgraderar finns i Installera Azure CLI. Om du använder Bash-miljön i Azure Cloud Shell är den senaste versionen redan installerad. - Du måste ha ett befintligt Linux-baserat AKS-kluster med minst 3 noder med lagringsoptimerade VM-SKU:er eller GPU-accelererade VM-SKU:er. Se Självstudie 3 – Skapa ett AKS-kluster.
- Du behöver Kubernetes kommandoradsklient,
kubectl. Det är redan installerat om du använder Azure Cloud Shell, eller så kan du installera det lokalt genom att köraaz aks install-cli-kommandot.
Installera Kubernetes-tillägget
Lägg till eller uppgradera till den senaste versionen av k8s-extension genom att köra följande kommando.
az extension add --upgrade --name k8s-extension
Ansluta till klustret och kontrollera nodstatus
Om du inte redan är ansluten till klustret från föregående tutorial, kör du följande kommandon. Om du redan är ansluten kan du hoppa över det här avsnittet.
Kör följande kommando för att ansluta till klustret.
az aks get-credentials --resource-group myResourceGroup --name myAKSClusterKontrollera anslutningen till klustret med hjälp av
kubectl getkommandot . Det här kommandot returnerar en lista över klusternoderna.kubectl get nodesFöljande utdataexempel visar noderna i klustret. Kontrollera att statusen för alla noder visar Klar:
NAME STATUS ROLES AGE VERSION aks-nodepool1-34832848-vmss000000 Ready agent 80m v1.30.9 aks-nodepool1-34832848-vmss000001 Ready agent 80m v1.30.9 aks-nodepool1-34832848-vmss000002 Ready agent 80m v1.30.9
Välj ett alternativ för säkerhetskopieringslagring
Azure Container Storage (version 1.x.x) använder lagringspooler för att etablera och hantera beständiga och generiska volymer. Den erbjuder en mängd olika backend-lagringsalternativ för dina lagringspooler, som var och en passar för specifika arbetstyper. Det är viktigt att välja rätt lagringstyp för att optimera arbetsbelastningens prestanda, hållbarhet och kostnadseffektivitet. I den här självstudien använder vi en flyktig disk med lokal NVMe som bakgrundslagring för att skapa en generisk flyktig volym. Men vi kommer också att utforska de andra lagringsalternativen för säkerhetskopiering som gör att du kan skapa beständiga volymer.
Flyktig Disk
Tillfälliga diskar använder lokala lagringsresurser på AKS-noderna (antingen lokal NVMe eller temporär SSD). Den erbjuder låg svarstid under ms och hög IOPS, men ingen datapersistence om den virtuella datorn startas om. Tillfälliga diskar passar bäst för program som Cassandra som prioriterar hastighet framför beständighet och är perfekt för arbetsbelastningar med egen replikering på programnivå.
Du kan använda Tillfällig disk för att skapa antingen generiska tillfälliga volymer eller beständiga volymer, även om data går förlorade om den virtuella datorn startas om.
Azure-diskar
Azure Disks är perfekt för databaser som PostgreSQL och MongoDB och erbjuder hållbarhet, skalbarhet och prestandaalternativ med flera nivåer, inklusive Premium SSD och Ultra SSD.
Azure Disks möjliggör automatisk etablering av lagringsvolymer och omfattar inbyggd redundans och hög tillgänglighet.
Azure Elastic SAN (förhandsversion)
Azure Elastic SAN är utformat för delade lagringsbehov och allmänna databaser som kräver skalbarhet och hög tillgänglighet och passar bra för arbetsbelastningar som CI/CD-pipelines eller storskalig databearbetning.
Aktivera Azure Container Storage (version 1.x.x) och skapa en lagringspool
Kör följande kommando för att installera Azure Container Storage i klustret och skapa en lokal NVMe-lagringspool.
az aks update -n myAKSCluster -g myResourceGroup --enable-azure-container-storage ephemeralDisk --container-storage-version 1 --storage-pool-option NVMe
Distributionen bör ta mindre än 15 minuter.
Kontrollera lagringspoolens status
När distributionen är klar aktiveras komponenterna för den valda lagringspooltypen och du har en standardlagringspool.
Kör följande kommando för att hämta listan över tillgängliga lagringspooler:
kubectl get sp -n acstor
Kör följande kommando för att kontrollera statusen för en lagringspool:
kubectl describe sp <storage-pool-name> -n acstor
Om Message inte säger StoragePool is ready betyder det att lagringspoolen fortfarande skapas eller har stött på ett problem.
Visa tillgängliga lagringsklasser
När lagringspoolen är redo att användas måste du välja en lagringsklass för att definiera hur lagring skapas dynamiskt när du skapar och distribuerar volymer.
Kör kubectl get sc för att visa tillgängliga lagringsklasser. Du bör se en lagringsklass med namnet acstor-<storage-pool-name>. Använd den här lagringsklassen i nästa avsnitt för att distribuera en podd.
Distribuera en podd med en allmän tillfällig volym
Skapa en podd med Fio (flexibel I/O-testare) för benchmarking och arbetsbelastningssimulering, som använder en allmän tillfällig volym.
Använd din favorittextredigerare för att skapa en YAML-manifestfil,
code acstor-pod.yamltill exempel .Klistra in följande kod och spara filen.
kind: Pod apiVersion: v1 metadata: name: fiopod spec: nodeSelector: acstor.azure.com/io-engine: acstor containers: - name: fio image: nixery.dev/shell/fio args: - sleep - "1000000" volumeMounts: - mountPath: "/volume" name: ephemeralvolume volumes: - name: ephemeralvolume ephemeral: volumeClaimTemplate: metadata: labels: type: my-ephemeral-volume spec: accessModes: [ "ReadWriteOnce" ] storageClassName: acstor-ephemeraldisk-nvme # replace with the name of your storage class if different resources: requests: storage: 1GiOm du ändrar volymens lagringsstorlek kontrollerar du att storleken är mindre än den tillgängliga kapaciteten för en enskild nods tillfälliga disk. Kör
kubectl get diskpool -n acstorför att kontrollera den tillgängliga kapaciteten.Använd YAML-manifestfilen för att distribuera podden.
kubectl apply -f acstor-pod.yamlDu bör se utdata som liknar följande:
pod/fiopod createdKontrollera att podden körs och att det tillfälliga volymkravet har bundits rätt till podden.
kubectl describe pod fiopod kubectl describe pvc fiopod-ephemeralvolume
Nu har du distribuerat en podd som använder lokal NVMe som lagringsplats, och du kan använda den för dina Kubernetes-arbetsbelastningar.
Kontrollera den tillgängliga kapaciteten för tillfälliga diskar innan du etablerar ytterligare volymer:
kubectl describe node <node-name>
Mer information om Azure Container Storage (version 1.x.x), inklusive hur du skapar beständiga volymer, finns i Vad är Azure Container Storage?
Rensa resurser
Du behöver inte Azure Container Storage för resten av den här självstudieserien, så vi rekommenderar att du tar bort den nu för att undvika onödiga Azure-avgifter.
Ta bort podden.
kubectl delete pod fiopodTa bort lagringspoolen.
kubectl delete sp -n acstor <storage-pool-name>Ta bort tilläggsinstansen.
az aks update -n myAKSCluster -g myResourceGroup --disable-azure-container-storage all
Nästa steg
I den här självstudien distribuerade du Azure Container Storage (version 1.x.x) i AKS-klustret. Du har lärt dig att:
- Aktivera Azure Container Storage (version 1.x.x) i ditt AKS-kluster.
- Välj en lagringstyp för säkerhetskopiering och skapa en lagringspool.
- Distribuera en podd med en allmän tillfällig volym.
I nästa handledning får du lära dig hur du distribuerar ett program till klustret.
Azure Kubernetes Service