Zelfstudie: Azure Container Storage installeren voor gebruik met Azure Kubernetes Service
Azure Container Storage is een cloudgebaseerde volumebeheer-, implementatie- en indelingsservice die systeemeigen is gebouwd voor containers. In deze zelfstudie maakt u een AKS-cluster (Azure Kubernetes Service) en installeert u de nieuwste productieversie van Azure Container Storage op het cluster. Als u al een AKS-cluster hebt geïmplementeerd, raden we u aan Azure Container Storage te installeren met behulp van deze quickstart in plaats van de handmatige stappen in deze zelfstudie te volgen.
Belangrijk
Azure Container Storage is nu algemeen beschikbaar (GA) vanaf versie 1.1.0. De GA-versie wordt aanbevolen voor productieworkloads.
- Een brongroep maken
- Een optie voor gegevensopslag en VM-type kiezen
- Een AKS-cluster maken
- Verbinding maken met het cluster
- Label de knooppuntgroep
- De rol Azure Container Storage-operator toewijzen aan een door AKS beheerde identiteit
- Azure Container Storage installeren
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.
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 de Azure CLI 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>
Een brongroep maken
Een Azure-resourcegroep is een logische groep die uw Azure-resources bevat die u als groep wilt beheren. Wanneer u een resourcegroep maakt, wordt u gevraagd een locatie op te geven. Deze locatie is:
- De opslaglocatie van de metagegevens van de resourcegroep.
- Waar uw resources worden uitgevoerd in Azure als u geen andere regio opgeeft tijdens het maken van resources.
Maak een resourcegroep met behulp van de az group create
opdracht. Vervang <resource-group-name>
door de naam van de resourcegroep die u wilt maken en vervang deze door <location>
een Azure-regio, zoals eastus, westus2, westus3 of westeurope.
az group create --name <resource-group-name> --location <location>
Als de resourcegroep is gemaakt, ziet u uitvoer die er ongeveer als volgt uit ziet:
{
"id": "/subscriptions/<guid>/resourceGroups/myContainerStorageRG",
"location": "eastus",
"managedBy": null,
"name": "myContainerStorageRG",
"properties": {
"provisioningState": "Succeeded"
},
"tags": null
}
Een optie voor gegevensopslag en type virtuele machine kiezen
Voordat u uw cluster maakt, moet u weten welke back-endopslagoptie u uiteindelijk kiest om uw opslaggroep te maken. Dit komt doordat verschillende opslagservices het beste werken met verschillende typen virtuele machines (VM's) als clusterknooppunten en u uw cluster implementeert voordat u de opslaggroep maakt.
Opties voor gegevensopslag
Elastische AZURE SAN: Azure Elastic SAN is geschikt voor algemene databases, streaming- en berichtenservices, CD/CI-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- of tijdelijke SSD-stations op de AKS-knooppunten en 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.
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 kortstondige schijf wilt gebruiken met lokale NVMe, kiest u een VM-SKU die lokale NVMe-schijven ondersteunt, bijvoorbeeld voor opslag geoptimaliseerde VM-SKU's of met GPU versnelde 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.
Een nieuw AKS-cluster maken en Azure Container Storage installeren
Als u al een AKS-cluster hebt geïmplementeerd, volgt u de installatie-instructies in deze quickstart.
Voer de volgende opdracht uit om een nieuw AKS-cluster te maken, Azure Container Storage te installeren en een opslaggroep te maken. Vervang en <resource-group>
door <cluster-name>
uw eigen waarden en geef op welk VM-type u wilt gebruiken. Vervangen <storage-pool-type>
door azureDisk
, ephemeralDisk
of elasticSan
. Als u selecteert ephemeralDisk
, moet u ook opgeven --storage-pool-option
en de waarden kunnen of NVMe
Temp
.
Als u deze opdracht uitvoert, wordt Azure Container Storage ingeschakeld in de systeemknooppuntgroep* met drie Linux-VM's. Als u lokale NVMe opgeeft voor het type opslaggroep, moet u het aantal knooppunten instellen op 4 of hoger, anders kan de opdracht niet worden uitgevoerd.
Standaard heeft de systeemknooppuntgroep de naam nodepool1
. Als u Azure Container Storage wilt inschakelen voor andere knooppuntgroepen, raadpleegt u Azure Container Storage installeren op specifieke knooppuntgroepen. Als u met deze opdracht aanvullende parameters voor opslaggroepen wilt opgeven, raadpleegt u deze tabel.
*Als er bestaande knooppuntgroepen zijn met het acstor.azure.com/io-engine:acstor
label, worden de onderdelen van het gegevensvlak standaard door Azure Container Storage geïnstalleerd. Anders kunnen gebruikers de voorkeursknooppuntgroep doorgeven via acstor
Azure CLI. Als het cluster alleen de systeemknooppuntgroep heeft, wordt het standaard gelabeld en gebruikt voor Azure Container Storage. Het is belangrijk te weten dat alleen onderdelen van het gegevensvlak worden beperkt tot de gelabelde knooppuntgroep. De onderdelen van het besturingsvlak van Azure Container Storage zijn niet beperkt tot de gelabelde knooppunten en kunnen ook worden geïnstalleerd in de systeemknooppuntgroep.
az aks create -n <cluster-name> -g <resource-group> --node-vm-size Standard_D4s_v3 --node-count 3 --enable-azure-container-storage <storage-pool-type> --generate-ssh-keys
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.
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.
Volgende stap
Selecteer de koppeling voor het type back-upopslag dat u hebt geselecteerd en volg de instructies voor het maken van volumes.