Delen via


Opslagoverwegingen voor Azure Kubernetes Service (AKS)

Als u specifieke toepassingsworkloads wilt uitvoeren, moet uw organisatie of onderneming geschikte mogelijkheden op platformniveau van Azure Kubernetes Service (AKS) ontwerpen. Deze workloads hebben waarschijnlijk verschillende opslagvereisten. Wanneer u de juiste opslagoplossing voor uw toepassing kiest, hebt u meerdere overwegingen, waaronder prestaties, beschikbaarheid, herstelbaarheid, beveiliging en kosten. Het doel van dit artikel is om u te begeleiden bij het kiezen van de juiste optie of combinatie van opties voor uw workload.

Kubernetes kan zowel stateless als stateful workloads uitvoeren. Stateful workloads vereisen vaak een opslagoplossing voor het opslaan van de status. AKS ondersteunt meerdere, geïntegreerde opties voor systeemeigen opslag, waaronder beheerde databases, schijven (of blokken) en bestanden en blobopslag (of objectopslag). Elk van deze opties biedt verschillende SKU's, grootten en prestatiekenmerken. Voor het selecteren van de juiste optie is zorgvuldige overweging vereist.

In dit artikel worden de factoren en opties beschreven die u moet overwegen in De juiste opslagservice en ontwerpoverwegingen selecteren. Het biedt specifieke aanbevelingen in ontwerpaanaanvelingen.

De juiste opslagservice selecteren

Het kiezen van de juiste SKU's en grootten voor uw eerste implementaties vereist enkele evaluaties en, mogelijk, een proof-of-concept- of testomgeving. Hieronder vindt u de richtlijnen op hoog niveau waarmee u aan de slag kunt met opslag voor AKS:

  • Gestructureerde gegevens. Voor gestructureerde gegevens die uw toepassing kan opslaan in een beheerde database die beschikbaar is op het platform (bijvoorbeeld Azure SQL), raden we u aan een beheerde database te gebruiken.

  • Niet-gestructureerde gegevens. Gebruik blobopslag voor ongestructureerde gegevens, zoals foto's, video's en tekstdocumenten. Uw toepassing kan dit doen met behulp van blobs die zijn gekoppeld als bestanden via Network File System (NFS) of worden geopend als een virtueel bestandssysteem met behulp van BlobFuse. U kunt uw toepassing ook rechtstreeks lezen van en schrijven naar blobopslag.

  • Gedeelde toepassingsgegevens. Voor gedeelde toepassingsgegevens waarvoor hoge prestaties zijn vereist, gebruikt u Azure NetApp Files of de Premium-laag van Azure Files. Gebruik de standard-laag van Azure Files voor gedeelde configuratiegegevens waarvoor slechts beperkte prestaties zijn vereist.

  • Bandbreedte voor toepassings- en opslagaanvragen. Zorg ervoor dat uw knooppunten voldoende netwerkbandbreedte hebben om zowel toepassingsaanvragen als opslagaanvragen te verwerken. Opslagverkeer gaat via de netwerkstack, ongeacht of het protocol voor overdrachten Server Message Block (SMB) of NFS is.

  • Lage latentie, hoge IOPS. Gebruik schijven voor opslag als uw toepassing consistent lage latentie nodig heeft voor berichtentoepassingen en hoge I/O-bewerkingen per seconde (IOPS) en hoge doorvoer om uw eigen databases uit te voeren op Kubernetes. Voor de beste prestaties kunt u overwegen Om Azure Premium SSD, Azure Premium SSD v2 of Azure Ultra Disk Storage te gebruiken.

Ontwerpoverwegingen

De volgende overwegingen zijn voor het ontwerpen van opslag voor AKS. Overweeg waar opslag is vereist in uw AKS-omgeving en bepaal de beste oplossing voor elke vereiste.

Besturingssysteemschijven

Houd rekening met de volgende factoren voor besturingssysteemschijven:

  • Tijdelijke schijven voor het besturingssysteem. Elke virtuele machine (VM) in Azure vereist een schijf voor het besturingssysteem. Omdat Kubernetes-knooppunten kortstondig zijn, gebruikt AKS standaard tijdelijke besturingssysteemschijven op ondersteunde VM-grootten. Zie Kortstondige besturingssysteemschijven voor meer informatie over tijdelijke besturingssysteemschijven.

  • Beheerde schijven voor het besturingssysteem. Als uw workload deze nodig heeft, kunt u in plaats daarvan gewone beheerde schijven gebruiken voor de knooppunten in uw AKS-cluster. Dit biedt ondersteuning voor workloads waarvoor permanente gegevens op het besturingssysteemstation zijn vereist. Zie Opslagopties voor toepassingen in Azure Kubernetes Service (AKS) voor meer informatie over opties voor permanente opslag.

  • Grootte van beheerde schijven aanpassen. Als u een beheerde schijf als besturingssysteemschijf selecteert, moet u ervoor zorgen dat deze de juiste grootte heeft om de vereisten van het besturingssysteem, het Kubernetes-systeem en uw workload te ondersteunen. Zie Azure Managed Disk Types voor meer informatie over opties en verschillen.

Toepassingsgegevens

Sommige workloads hebben een consistent gegevensarchief nodig voor de opslag van toepassingsgegevens. Als uw toepassing een database vereist, kunt u overwegen om de beheerde databases in Azure te verkennen, waaronder de volgende opties:

Opslagoplossingen in AKS

Als een beheerde database niet voldoet aan de behoeften van uw toepassing, kunt u overwegen een andere opslagoptie te gebruiken die beschikbaar is voor AKS om consistente gegevens op te slaan. Opties zijn oplossingen op basis van schijven, tijdelijke schijven, op bestanden gebaseerde oplossingen, blobopslag en andere opties die niet in dit artikel worden behandeld.

Oplossingen op basis van schijven

Schijven of blokopslag zijn ideaal voor het rechtstreeks opslaan van gegevens op een onbewerkt apparaat op basis van blokken. Schijfopslag is ideaal voor het opslaan van gegevens voor databases die door uw Kubernetes-cluster worden gehost. In Azure zijn beheerde schijven de oplossing om opslag op basis van blokken op te halen.

Tijdelijke schijvenoplossingen

Overweeg of uw toepassing niet-permanente, tijdelijke opslag vereist of waar u de schijven met hoge prestaties wilt gebruiken in de voor opslag geoptimaliseerde VM's. Als u verbinding wilt maken met een kortstondig volume, kunt u de optie emptyDir in Kubernetes of het stuurprogramma voor een tijdelijk lokaal CSI-volume gebruiken. We raden legeDir aan voor kortstondige gegevens, zoals scratchruimte. Voor opslag in de voor opslag geoptimaliseerde VM-serie raden we u aan CSI te gebruiken met een kortstondig lokaal volume. Zie CSI-stuurprogramma's (Container Storage Interface) in Azure Kubernetes Service (AKS) voor meer informatie over CSI-stuurprogramma's.

Op bestanden gebaseerde oplossingen

Overweeg of uw pods een bestandssysteem moeten delen. Een gedeeld bestandssysteem is ideaal voor toepassings- en configuratiegegevens die worden gelezen en gedeeld door meerdere pods in uw Kubernetes-cluster. Bestandsopslag maakt een gedeeld bestandssysteem beschikbaar via NFS of SMB/Common Internet File System (CIFS). Azure heeft twee oplossingen voor opslag op basis van bestanden: Azure Files en Azure NetApp Files.

Azure Files

Overweeg voor Azure Files de volgende opties:

  • Statische of dynamisch gemaakte bestandsshare. Overweeg of u een statische bestandsshare wilt gebruiken die buiten AKS is gemaakt, of als u wilt dat AKS de bestandsshare dynamisch namens u maakt. Zie voor meer informatie:

  • Standard- of Premium-prestaties. Evalueer of de standaardprestaties voldoende zijn of als u Premium-prestaties van Azure Files nodig hebt.

  • SMB/CIFS of NFS. Voor toegang tot Azure Files moet u evalueren of uw workload de API moet gebruiken voor het standaardprotocol, SMB/CIFS of als voor uw workload NFS-ondersteuning is vereist.

  • Netwerkmodel voor toegang. Houd rekening met het netwerkmodel dat u wilt gebruiken voor toegang tot Azure Files: toegang via direct openbaar IP-adres, een service-eindpunt of een privékoppeling.

Azure NetApp Files

Houd voor Azure NetApp Files rekening met de volgende opties:

Blob-opslag

Houd rekening met de hoeveelheid ongestructureerde gegevens die uw toepassing moet opslaan. Azure Blob Storage is toegankelijk via een HTTP-API of via de SDK's. Het koppelen van blobopslag als een bestandssysteem in een container of pod is ideaal voor toepassingsworkloads met enorme hoeveelheden ongestructureerde gegevens, zoals logboekbestanden, afbeeldingen, documenten, streamingmedia en gegevens voor herstel na noodgevallen.

Andere opslagoplossingen

Overweeg andere typen opslag als uw toepassing iets vereist dat niet in dit artikel wordt beschreven. Er zijn meerdere gespecialiseerde opslagoplossingen in Azure die kunnen worden geïntegreerd met Kubernetes. In dit artikel worden deze niet behandeld, maar in de volgende lijst worden mogelijke oplossingen geïdentificeerd:

  • Azure HPC-cache. HPC Cache versnelt de toegang tot uw gegevens voor HPC-taken (High Performance Computing). Door bestanden in cache op te slaan in Azure, brengt Azure HPC Cache de schaalbaarheid van cloud-computing naar uw bestaande werkstroom. Zie Azure HPC Cache integreren met Azure Kubernetes Service voor meer informatie.

  • Azure Data Lake Storage Gen2. Data Lake Storage Gen2 is een speciaal type blobopslag dat is geoptimaliseerd voor big data-workloads zoals Hadoop en Spark. Zie Inleiding tot Azure Data Lake Storage Gen2 voor meer informatie.

Ontwerpaanaanvelingen

Deze sectie bevat aanbevelingen die zijn gebaseerd op wat effectief is gebleken voor Azure-klanten.

  • Gebruik Azure Private Link. Voor beveiliging raden we u aan Azure Private Link te gebruiken voor alle opslagoplossingen die deze ondersteunen. Azure Private Link biedt toegang tot Azure-services, zoals Azure Storage en SQL Database, en door Azure gehoste services via een privé-eindpunt in uw virtuele netwerk. Zie Wat is een Azure Private Link? voor meer informatie.

  • Gebruik tijdelijke schijven voor het besturingssysteem. Voor besturingssysteemschijven raden we u aan kortstondige schijven te gebruiken. Als u wilt profiteren van deze functie, selecteert u een VM-grootte met een voldoende tijdelijke schijfgrootte. Zie kortstondige besturingssysteemschijven voor Virtuele Azure-machines voor meer informatie.

  • Beheerde databases gebruiken. Voor toepassingsgegevens raden we u aan beheerde databases te gebruiken. Zie Typen databases in Azure voor een lijst met databaseopties.

In de volgende secties worden meer aanbevelingen beschreven voor Azure-schijven, Azure Files en blobopslag.

Azure-schijven

Voor Azure-schijven raden we de volgende ontwerpopties aan:

  • Gebruik Premium- of Ultra-schijven. In de meeste gevallen raden we Premium- of Ultra-schijven aan om voldoende prestaties te garanderen. Zie Azure Disk Storage voor meer informatie.

  • Wijzig de grootte van het knooppunt voor schijven en doorvoer. We raden u aan ervoor te zorgen dat de grootte van uw Kubernetes-knooppunt groot genoeg is om het aantal schijven en de hoeveelheid geaggregeerde doorvoer te ondersteunen. Zie Grootten voor virtuele machines in Azure voor meer informatie over grootten en kenmerken.

  • Maak momentopnamen van permanente volumes. We raden u aan momentopnamen van permanente volumes te maken, ofwel om nieuwe volumes in te richten die vooraf zijn gevuld met de momentopnamegegevens of om een bestaand volume te herstellen naar een eerdere status met behulp van de momentopnamemogelijkheid van het CSI-stuurprogramma van Azure Disks. Zie Volume-momentopnamen voor meer informatie.

  • Vermijd schijfstriping tussen schijven. We raden u aan om striping over meerdere schijven in Kubernetes te voorkomen.

  • Gebruik PV/PVC. We raden u aan pv en PVC in Kubernetes te gebruiken om waar nodig dynamisch schijven te maken. Zie Opslagopties voor toepassingen in Azure Kubernetes Service (AKS) voor meer informatie over permanente opslag.

Azure Files

Voor Azure Files raden we de volgende ontwerpopties aan:

  • Kies Premium. Als de prestaties kritiek zijn, raden we u aan de Premium-laag te gebruiken.

  • Maak toegewezen opslagaccounts. U wordt aangeraden speciale opslagaccounts voor uw bestandsshares op te geven.

  • Kies statische of dynamisch gemaakte bestandsshares. We raden u aan zorgvuldig na te gaan of u wilt dat AKS de bestandsshares maakt of dat u ze statisch buiten Kubernetes wilt maken. Opslag die dynamisch wordt gemaakt, kan ook dynamisch worden verwijderd. Zie Dynamisch een permanent volume maken en gebruiken met Azure Files voor meer informatie over het dynamisch maken van bestandsshares van AKS.

Azure NetApp Files

Voor Azure NetApp Files raden we de volgende ontwerpopties aan:

  • Kies een prestatielaag op basis van de toepassingsvereisten. Azure NetApp Files biedt drie prestatielagen die verschillende prestatieklassen bieden. Zie Prestatie-overwegingen voor Azure NetApp Files voor meer informatie.

  • Maak capaciteitspools in dezelfde Azure-regio als het AKS-cluster. Zie Een capaciteitspool maken voor Azure NetApp Files voor meer informatie.

  • Gebruik het type Auto QoS voor capaciteitspools.

  • Plan uw netwerk. Er zijn twee opties voor netwerkontwerp:

    1. Als u hetzelfde VNet voor AKS en Azure NetApp Files gebruikt, maakt u een toegewezen subnet voor Azure NetApp Files en delegeert u het subnet naar Microsoft.NetApp/Volumes.
    2. Als u verschillende VNets gebruikt, moet u VNet-peering instellen.

Blob-opslag

Voor blobopslag raden we de volgende ontwerpopties aan:

  • Gebruik een SDK om te interfacen met opslag. U wordt aangeraden een SDK op toepassingsniveau te gebruiken om te interfacen met blobopslag.

  • Gebruik CSI met NFS om te interfacen met opslag. Als u een SDK op toepassingsniveau niet kunt gebruiken om te interfacen met blobopslag, raden we u aan de optie NFS v3 te gebruiken in het blob CSI-stuurprogramma. Zie Het stuurprogramma Azure Blob Storage Container Storage Interface (CSI) gebruiken voor meer informatie.

  • Gebruik Microsoft Entra-id voor toegang. We raden u aan Microsoft Entra-id te gebruiken voor het autoriseren van toegang tot blobopslag. Vermijd het gebruik van een sleutel voor een gedeeld opslagaccount. Zie Toegang tot blobs autoriseren met behulp van Microsoft Entra-id voor meer informatie.

  • Laagniveaus aanpassen. U wordt aangeraden beleid voor levenscyclusbeheer te gebruiken om zelden gebruikte gegevens te verplaatsen naar een koelere toegangslaag. Zie Dynamische, statische en archieftoegangslagen voor blobgegevens voor meer informatie.

Volgende stappen

Meer informatie over het bereik van kostentoewijzing voor een implementatie, een service, een label, een pod of een naamruimte in AKS met behulp van Kubecost.