Quickstart: Azure Container Storage gebruiken met Azure Kubernetes Service
Azure Container Storage is een cloudgebaseerde volumebeheer-, implementatie- en indelingsservice die systeemeigen is gebouwd voor containers. In deze quickstart ziet u hoe u verbinding maakt met een AKS-cluster (Azure Kubernetes Service) op basis van Linux, Azure Container Storage installeert en een opslaggroep maakt met behulp van Azure CLI.
Belangrijk
Azure Container Storage is nu algemeen beschikbaar (GA) vanaf versie 1.1.0. De GA-versie wordt aanbevolen voor productieworkloads.
Vereisten
Als u geen Azure-abonnement hebt, maakt u een gratis account voordat u begint.
Voor dit artikel is de nieuwste versie (2.35.0 of hoger) van de Azure CLI vereist. Zie Hoe u de Azure CLI installeert. Als u de Bash-omgeving in Azure Cloud Shell gebruikt, is de nieuwste versie al geïnstalleerd. Als u van plan bent om de opdrachten lokaal uit te voeren in plaats van in Azure Cloud Shell, moet u deze uitvoeren met beheerdersbevoegdheden. Zie Aan de slag met Azure Cloud Shell voor meer informatie.
U hebt de Kubernetes-opdrachtregelclient nodig.
kubectl
Deze is al geïnstalleerd als u Azure Cloud Shell gebruikt of als u deze lokaal kunt installeren door de opdracht uit teaz aks install-cli
voeren.Controleer of uw doelregio wordt ondersteund in Azure Container Storage-regio's.
Als u nog geen AKS-cluster hebt gemaakt, volgt u de instructies voor het installeren van een AKS-cluster.
Aan de slag
Noteer uw Azure-abonnements-id. Als u Azure Elastic SAN wilt gebruiken als gegevensopslag, hebt u de rol Azure Container Storage-eigenaar of de rol Inzender voor Azure Container Storage nodig die is toegewezen aan het Azure-abonnement. Met toegang op eigenaarsniveau kunt u de Azure Container Storage-extensie installeren, toegang verlenen tot de opslagresources en u toestemming geven om uw Elastische SAN-resource van Azure te configureren. Met toegang op inzenderniveau kunt u de extensie installeren en toegang verlenen tot de bijbehorende opslagbronnen. Als u van plan bent om Azure Disks of Kortstondige schijf als gegevensopslag te gebruiken, hebt u geen speciale machtigingen voor uw abonnement nodig.
Start Azure Cloud Shell of meld u aan bij Azure met behulp van de az login-opdracht als u een lokale installatie gebruikt.
Als u Azure Cloud Shell gebruikt, wordt u mogelijk gevraagd om opslag te koppelen. Selecteer het Azure-abonnement waar u het opslagaccount wilt maken en selecteer Maken.
De vereiste extensie installeren
Voeg de nieuwste versie toe of voer een upgrade uit k8s-extension
door de volgende opdracht uit te voeren.
az extension add --upgrade --name k8s-extension
Abonnementscontext instellen
Stel de context van uw Azure-abonnement in met behulp van de az account set
opdracht. U kunt de abonnements-id's weergeven voor alle abonnementen waartoe u toegang hebt door de az account list --output table
opdracht uit te voeren. Vergeet niet om deze te vervangen door <subscription-id>
uw abonnements-id.
az account set --subscription <subscription-id>
Verbinding maken met het cluster
Gebruik de Kubernetes-opdrachtregelclient kubectl
om verbinding te maken met het cluster. Deze is al geïnstalleerd als u Azure Cloud Shell gebruikt of als u deze lokaal kunt installeren door de opdracht uit te az aks install-cli
voeren.
Configureer
kubectl
deze om verbinding te maken met uw cluster met behulp van deaz aks get-credentials
opdracht. De volgende opdracht:- Hiermee downloadt u referenties en configureert u de Kubernetes CLI om deze te gebruiken.
- Gebruikt
~/.kube/config
, de standaardlocatie voor het Kubernetes-configuratiebestand. U kunt een andere locatie opgeven voor uw Kubernetes-configuratiebestand met behulp van het argument --file .
az aks get-credentials --resource-group <resource-group> --name <cluster-name>
Controleer de verbinding met uw cluster met behulp van de
kubectl get
opdracht. Met deze opdracht wordt een lijst met de clusterknooppunten geretourneerd.kubectl get nodes
In het volgende uitvoervoorbeeld ziet u de knooppunten in uw cluster. Controleer of de status voor alle knooppunten Gereed is:
NAME STATUS ROLES AGE VERSION aks-nodepool1-34832848-vmss000000 Ready agent 80m v1.25.6 aks-nodepool1-34832848-vmss000001 Ready agent 80m v1.25.6 aks-nodepool1-34832848-vmss000002 Ready agent 80m v1.25.6
Noteer de naam van uw knooppuntgroep. In dit voorbeeld is dit nodepool1.
Kies een optie voor gegevensopslag voor uw opslaggroep
Voordat u Azure Container Storage implementeert, moet u beslissen welke back-endopslagoptie u wilt gebruiken om uw opslaggroep en volumes te maken. Er zijn momenteel drie opties beschikbaar:
Elastische AZURE SAN: Azure Elastic SAN is geschikt voor databases voor algemeen gebruik, streaming- en berichtenservices, CI/CD-omgevingen en andere workloads van laag 1/laag 2. Opslag wordt op aanvraag ingericht per gemaakte volume- en volumemomentopname. Meerdere clusters hebben gelijktijdig toegang tot één SAN, maar permanente volumes kunnen slechts door één consument tegelijk worden gekoppeld.
Azure Disks: Azure Disks zijn geschikt voor databases zoals MySQL, MongoDB en PostgreSQL. Opslag wordt ingericht per grootte van de doelcontaineropslaggroep en de maximale volumegrootte.
Tijdelijke schijf: deze optie maakt gebruik van lokale NVMe-stations of tijdelijke SSD op de AKS-clusterknooppunten. Het is uiterst latentiegevoelig (lage latentie van sub ms), dus het is het beste voor toepassingen zonder duurzaamheid van gegevens of met ingebouwde ondersteuning voor gegevensreplicatie, zoals Cassandra. AKS detecteert de beschikbare tijdelijke opslag op AKS-knooppunten en verkrijgt de stations voor volume-implementatie.
Notitie
Voor Elastische SAN en Azure Disks implementeert Azure Container Storage de back-upopslag voor u als onderdeel van de installatie. U hoeft geen eigen Elastisch SAN of Azure Disk te maken. Als u Elastic SAN wilt gebruiken, hebt u de rol Azure Container Storage-eigenaar of de rol Inzender voor Azure Container Storage in het Azure-abonnement nodig.
Resourceverbruik
Voor Azure Container Storage moeten bepaalde knooppuntbronnen onderdelen voor de service uitvoeren. Op basis van de selectie van het type opslaggroep, die u opgeeft wanneer u Azure Container Storage installeert, zijn dit de resources die worden verbruikt:
Type opslaggroep | CPU-kernen | RAM |
---|---|---|
Azure Elastic SAN | Geen | Geen |
Azure-schijven | 1 | 1 GiB |
Tijdelijke schijf - Tijdelijke SSD | 1 | 1 GiB |
Tijdelijke schijf - Lokale NVMe (standaardlaag) | 25% van de kernen (prestatielaag kan worden bijgewerkt)* | 1 GiB |
De verbruikte resources zijn per knooppunt en worden gebruikt voor elk knooppunt in de knooppuntgroep waar Azure Container Storage wordt geïnstalleerd. Als uw knooppunten onvoldoende resources hebben, kan Azure Container Storage niet worden uitgevoerd. Kubernetes probeert deze mislukte pods automatisch opnieuw te initialiseren, dus als resources worden vrijgemaakt, kunnen deze pods opnieuw worden geïnitialiseerd.
*In een opslaggroeptype tijdelijke schijf - Lokale NVMe met de standaard (standaard) prestatielaag, als u meerdere VM-SKU-typen voor uw clusterknooppunten gebruikt, is de 25% van de verbruikte CPU-kernen van toepassing op de kleinste gebruikte SKU. Als u bijvoorbeeld een combinatie van vm-typen met 8 kernen en 16 kernen gebruikt, is het resourceverbruik 2 kernen. U kunt de prestatielaag bijwerken om een groter percentage kernen te gebruiken en meer IOPS te bereiken.
Zorg ervoor dat het VM-type voor uw cluster voldoet aan de volgende criteria
Als u Azure Container Storage wilt gebruiken, hebt u een knooppuntgroep van ten minste drie Virtuele Linux-machines nodig. Elke VM moet minimaal vier virtuele CPU's (vCPU's) hebben. Azure Container Storage verbruikt één kern voor I/O-verwerking op elke VM waarop de extensie wordt geïmplementeerd.
Volg deze richtlijnen bij het kiezen van een VM-type voor de clusterknooppunten. U moet een VM-type kiezen dat Ondersteuning biedt voor Azure Premium Storage.
- Als u azure Elastic SAN of Azure Disks wilt gebruiken als back-upopslag, kiest u een vm-type voor algemeen gebruik, zoals standard_d4s_v5.
- Als u van plan bent om tijdelijke schijf met lokale NVMe te gebruiken, kiest u een VM-SKU die lokale NVMe-gegevensschijven ondersteunt, bijvoorbeeld voor opslag geoptimaliseerde VM-SKU's of versnelde GPU-VM-SKU's.
- Als u kortstondige schijf met tijdelijke SSD wilt gebruiken, kiest u een virtuele machine met een tijdelijke SSD-schijf, zoals Ev3 en Esv3-serie.
Azure Container Storage installeren op uw AKS-cluster
De installatieopdracht is afhankelijk van of u al een preview-exemplaar van Azure Container Storage hebt dat wordt uitgevoerd op uw AKS-cluster of als u Azure Container Storage voor het eerst installeert op het cluster.
Een preview-installatie upgraden naar algemene beschikbaarheid
Als u al een preview-exemplaar van Azure Container Storage in uw cluster hebt, raden we u aan om bij te werken naar de meest recente algemeen beschikbare versie (GA) door de volgende opdracht uit te voeren. Als u Azure Container Storage voor de eerste keer op het cluster installeert, gaat u verder met het installeren van Azure Container Storage en het maken van een opslaggroep. U kunt Azure Container Storage ook installeren op specifieke knooppuntgroepen.
az k8s-extension update --cluster-type managedClusters --cluster-name <cluster-name> --resource-group <resource-group> --name azurecontainerstorage --version 1.1.0 --auto-upgrade false --release-train stable
Vergeet niet om uw eigen waarden te vervangen en <resource-group>
te vervangen<cluster-name>
.
Azure Container Storage installeren en een opslaggroep maken
Zorg ervoor dat uw AKS-cluster voldoet aan de VM-vereisten voordat u installeert.
Voer de volgende opdracht uit om Azure Container Storage op het cluster te installeren en een opslaggroep te maken. Vervang <cluster-name>
en <resource-group>
door uw eigen waarden. Vervangen <storage-pool-type>
door azureDisk
, ephemeralDisk
of elasticSan
. Als u selecteert ephemeralDisk
, kunt u ook opgeven --storage-pool-option
en de waarden kunnen zijn NVMe
of Temp
.
Als u deze opdracht uitvoert, wordt Azure Container Storage ingeschakeld in de systeemknooppuntgroep, die standaard de naam nodepool1
*heeft. Als u deze wilt inschakelen voor andere knooppuntgroepen, raadpleegt u Azure Container Storage installeren op specifieke knooppuntgroepen. Als u aanvullende parameters wilt opgeven, raadpleegt u de parameters van de Azure Container Storage-opslaggroep.
*Als er bestaande knooppuntgroepen zijn met het acstor.azure.com/io-engine:acstor
label, wordt Azure Container Storage daar standaard geïnstalleerd. Anders wordt deze geïnstalleerd in de systeemknooppuntgroep.
Belangrijk
Als u uw AKS-cluster hebt gemaakt met behulp van Azure Portal: het cluster heeft waarschijnlijk een gebruikersknooppuntgroep en een systeem-/agentknooppuntgroep. Als uw cluster echter alleen bestaat uit een systeemknooppuntgroep, wat het geval is met test-/dev-clusters die zijn gemaakt met Azure Portal, moet u eerst een nieuwe gebruikersknooppuntgroep toevoegen en deze vervolgens labelen. Dit komt doordat wanneer u een AKS-cluster maakt met behulp van Azure Portal, een taint CriticalAddOnsOnly
wordt toegevoegd aan de systeem-/agentknooppuntgroep, waardoor de installatie van Azure Container Storage in de systeemknooppuntgroep wordt geblokkeerd. Deze taint wordt niet toegevoegd wanneer een AKS-cluster wordt gemaakt met behulp van Azure CLI.
az aks update -n <cluster-name> -g <resource-group> --enable-azure-container-storage <storage-pool-type>
De implementatie duurt 10-15 minuten. Wanneer dit is voltooid, hebt u een AKS-cluster waarop Azure Container Storage is geïnstalleerd, de onderdelen voor het gekozen type opslaggroep ingeschakeld en een standaardopslaggroep. Als u extra typen opslaggroepen wilt inschakelen om extra opslaggroepen te maken, raadpleegt u Aanvullende typen opslaggroepen inschakelen.
Belangrijk
Als u Azure Elastic SAN hebt opgegeven als back-upopslag voor uw opslaggroep en u geen rol van Azure Container Storage-eigenaar of Azure Container Storage-inzender hebt toegewezen aan het Azure-abonnement, mislukt de installatie van Azure Container Storage en wordt er geen opslaggroep gemaakt. Als u Azure Elastic SAN probeert in te schakelen als een extra type opslaggroep zonder een van deze rollen, blijven uw vorige installatie- en opslaggroepen ongewijzigd en wordt er geen elastische SAN-opslaggroep gemaakt.
Azure Container Storage installeren op specifieke knooppuntgroepen
Als u Azure Container Storage wilt installeren op specifieke knooppuntgroepen, volgt u deze instructies. De knooppuntgroepen moeten ten minste drie Virtuele Linux-machines bevatten.
Voer de volgende opdracht uit om de lijst met beschikbare knooppuntgroepen weer te geven. Vervang
<resource-group>
en<cluster-name>
door uw eigen waarden.az aks nodepool list --resource-group <resource-group> --cluster-name <cluster-name>
Voer de volgende opdracht uit om Azure Container Storage te installeren op specifieke knooppuntgroepen. Vervang
<cluster-name>
en<resource-group>
door uw eigen waarden. Vervangen<storage-pool-type>
doorazureDisk
,ephemeralDisk
ofelasticSan
. Als u deze optie selecteertephemeralDisk
, kunt u ook de optie --storage-pool-opgeven en de waarden kunnen ofNVMe
Temp
.az aks update -n <cluster-name> -g <resource-group> --enable-azure-container-storage <storage-pool-type> --azure-container-storage-nodepools <comma separated values of nodepool names>
Extra typen opslaggroepen inschakelen
Als u een type opslaggroep wilt inschakelen dat niet oorspronkelijk is ingeschakeld tijdens de installatie van Azure Container Storage, voert u de volgende opdracht uit. Vervang <cluster-name>
en <resource-group>
door uw eigen waarden. Voor <storage-pool-type>
, geef azureDisk
op , of elasticSan
ephemeralDisk
.
Als u met deze opdracht aanvullende parameters voor opslaggroepen wilt opgeven, raadpleegt u deze tabel.
az aks update -n <cluster-name> -g <resource-group> --enable-azure-container-storage <storage-pool-type>
Als het nieuwe type opslaggroep dat u hebt ingeschakeld meer resources in beslag neemt dan het type opslaggroep dat al is ingeschakeld, wordt het resourceverbruik gewijzigd in de maximale hoeveelheid.
Tip
Als u een nieuwe knooppuntgroep aan uw cluster hebt toegevoegd en Azure Container Storage wilt uitvoeren in die knooppuntgroep, kunt u de knooppuntgroep opgeven bij --azure-container-storage-nodepools <nodepool-name>
het uitvoeren van de az aks update
opdracht.
Beschikbare opslaggroepen weergeven
Voer de volgende opdracht uit om de lijst met beschikbare opslaggroepen op te halen:
kubectl get sp -n acstor
Voer de volgende opdracht uit om de status van een opslaggroep te controleren:
kubectl describe sp <storage-pool-name> -n acstor
Als dit niet wordt Message
gezegd StoragePool is ready
, maakt uw opslaggroep nog steeds een probleem of is er een probleem opgetreden. Zie Problemen met Azure Container Storage oplossen.
Opslaggroeptypen uitschakelen
Als u geen specifiek type opslaggroep meer gebruikt en wilt uitschakelen om resources in uw knooppuntgroep vrij te maken, voert u de volgende opdracht uit. Vervang <cluster-name>
en <resource-group>
door uw eigen waarden. Voor <storage-pool-type>
, geef azureDisk
op , of elasticSan
ephemeralDisk
.
az aks update -n <cluster-name> -g <resource-group> --disable-azure-container-storage <storage-pool-type>
Notitie
Als u een bestaande opslaggroep hebt van het type dat u wilt uitschakelen, wordt het type opslaggroep niet uitgeschakeld.
Volgende stap
Als u volumes wilt maken, selecteert u de koppeling voor het type back-upopslag dat u hebt geselecteerd.