Delen via


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 te az 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 kubectlom 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.

  1. Configureer kubectl deze om verbinding te maken met uw cluster met behulp van de az 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>
    
  2. 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
    
  3. 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. Als u lokale NVMe gebruikt voor uw opslaggroep, moet de knooppuntgroep minimaal vier Virtuele Linux-machines bevatten. 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 kortstondige schijf met lokale NVMe wilt gebruiken, kiest u een voor opslag geoptimaliseerd VM-type , zoals standard_l8s_v3.
  • 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, ephemeralDiskof elasticSan. Als u selecteert ephemeralDisk, kunt u ook opgeven --storage-pool-optionen 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 elk ten minste drie Virtuele Linux-machines bevatten. Als u lokale NVMe gebruikt voor uw opslaggroep, moeten de knooppuntgroepen elk ten minste vier Linux-VM's bevatten.

  1. 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>
    
  2. 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> door azureDisk, ephemeralDiskof elasticSan. Als u deze optie selecteert ephemeralDisk, kunt u ook de optie --storage-pool-opgeven en de waarden kunnen of NVMe 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 azureDiskop , of elasticSanephemeralDisk.

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 azureDiskop , of elasticSanephemeralDisk.

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.