Share via


Lagringsalternativ för ett Kubernetes-kluster

Den här artikeln jämför lagringsfunktionerna i Amazon Elastic Kubernetes Service (Amazon EKS) och Azure Kubernetes Service (AKS) och beskriver alternativen för att lagra arbetsbelastningsdata på AKS.

Anteckning

Den här artikeln är en del av en serie artiklar som hjälper proffs som är bekanta med Amazon EKS att förstå AKS.

Lagringsalternativ för Amazon EKS

I Amazon EKS, efter Kubernetes version 1.11, har klustret en standardlagringsklass som anropas gp2 för beständiga volymanspråk. Administratörer kan lägga till drivrutiner för att definiera fler lagringsklasser, till exempel:

  • Amazon EBS CSI-drivrutin som amazon-EKS-tillägg
  • Självhanterat tillägg för Amazon EBS CSI
  • Amazon EFS CSI-drivrutin
  • Amazon FSx for Lustre CSI-drivrutin
  • Amazon FSx för NetApp ONTAP CSI-drivrutin

Genom att lägga till drivrutiner och lagringsklasser kan du använda lagringstjänster som:

  • Amazon Elastic Block Store (Amazon EBS), en lagringslösning på blocknivå som används med Instanser av Amazon Elastic Compute Cloud (EC2) för att lagra beständiga data. Den här tjänsten liknar Azure Disk Storage, som har flera SKU:er som Standard SSD, Premium SSD eller Ultra Disk, beroende på vilken prestanda som krävs.

  • Amazon Elastic File System (Amazon EFS) , som ger NFS-åtkomst (Network File System) till externa filsystem som kan delas mellan instanser. Motsvarande Azure-lösning är Azure Files och Azure Files Premium med både servermeddelandeblock (SMB) 3.0 och NFS-åtkomst.

  • Lustre, ett filsystem med öppen källkod som ofta används vid databehandling med höga prestanda (HPC). I Azure kan du använda Ultra Disks eller Azure HPC Cache för arbetsbelastningar där hastigheten är viktig, till exempel maskininlärning och HPC.

  • NetApp ONTAP, fullständigt hanterad DELAD ONTAP-lagring i Amazon Web Services (AWS). Azure NetApp Files är en liknande Azure-fillagringstjänst som bygger på NetApp-teknik.

ALTERNATIV för AKS-lagring

Varje AKS-kluster innehåller följande förskapade lagringsklasser som standard:

  • Standardlagringsklassen, managed-csi, använder Standard SSD för disklagring. Standard SSD är ett kostnadseffektivt lagringsalternativ som är optimerat för arbetsbelastningar som behöver konsekventa prestanda vid lägre indataåtgärder per sekund (IOPS).
  • Klassen managed-csi-premium använder Disk Storage Premium SSD-hanterade diskar.
  • Klassen azurefile-csi använder Azure Files för att ge samtidig delad åtkomst till samma lagringsvolym med hjälp av SMB eller NFS.
  • Klassen azurefile-csi-premium använder Azure Files Premium för filresurser med IOPS-intensiva arbetsbelastningar. Azure Files Premium ger låg svarstid och högt dataflöde som backas upp av SSD-lagring.

Du kan utöka dessa alternativ genom att lägga till andra lagringsklasser och integrera med andra tillgängliga lagringslösningar, till exempel:

  • Ultra Disk Storage
  • Azure NetApp Files
  • HPC Cache
  • NFS-server
  • Lagringslösningar från tredje part

Azure-disklagring

Som standard levereras ett AKS-kluster med förskapade managed-csi klasser och managed-csi-premium lagringsklasser som använder Disk Storage. På samma sätt som Amazon EBS skapar dessa klasser en hanterad disk eller blockerar en enhet som är ansluten till noden för poddåtkomst.

Lagringsklasserna för disklagring tillåter både statisk och dynamisk volymetablering. Återkräva principen säkerställer att disken tas bort med den beständiga volymen. Du kan expandera disken genom att redigera det beständiga volymanspråket.

Dessa lagringsklasser använder Azure-hanterade diskar med lokalt redundant lagring (LRS). LRS innebär att data har tre synkrona kopior inom en enda fysisk plats i en primär Azure-region. LRS är det billigaste replikeringsalternativet, men erbjuder inte skydd mot ett datacenterfel. Du kan minska den här risken genom att göra regelbundna säkerhetskopieringar eller ögonblicksbilder av disklagringsdata med hjälp av lösningar som Velero eller Azure Backup som kan använda inbyggda tekniker för ögonblicksbilder.

Båda lagringsklasserna backas upp av hanterade diskar och båda använder SSD-enheter (Solid State Disk). Det är viktigt att förstå skillnaderna mellan Standard- och Premium-diskar:

  • Standarddiskar prissätts baserat på storleks- och lagringstransaktioner.
  • Premiumdiskar debiteras endast efter storlek, vilket kan göra dem billigare för arbetsbelastningar som kräver ett stort antal transaktioner.
  • Premium SSD ger ett högre maximalt dataflöde och IOPS, som du ser i den här jämförelsen.
  • Premium-lagring rekommenderas för de flesta produktions- och utvecklingsarbetsbelastningar.

Om du använder Azure-hanterade diskar som primär lagringsklass bör du överväga den SKU för virtuella datorer (VM) som du väljer för kubernetes-klustret. Virtuella Azure-datorer begränsar antalet diskar som du kan ansluta till dem, och gränsen varierar beroende på storleken på den virtuella datorn. Eftersom Azure-diskar monteras som ReadWriteOnceär de dessutom bara tillgängliga för en enda podd.

Ultra Disk Storage

Ultra Disk Storage är en Azure-hanterad disknivå som erbjuder högt dataflöde, hög IOPS och konsekvent disklagring med låg latens för virtuella Azure-datorer. Ultra Disk Storage är avsett för arbetsbelastningar som är data och transaktionsintensiva. Precis som andra SKU:er för disklagring och Amazon EBS monterar Ultra Disk Storage en podd i taget och ger inte samtidig åtkomst.

Använd flaggan --enable-ultra-ssd för att aktivera Ultra Disk Storage i AKS-klustret.

Om du väljer Ultra Disk Storage bör du vara medveten om dess begränsningar och se till att välja en kompatibel VM-storlek. Ultra Disk Storage är tillgängligt med lokalt redundant lagringsreplikering (LRS).

Azure Files

Disk Storage kan inte ge samtidig åtkomst till en volym, men du kan använda Azure Files för att ansluta med hjälp av SMB-protokollet och sedan montera en delad volym som backas upp av Azure Storage. Den här processen tillhandahåller en nätverksansluten lagring som liknar Amazon EFS. Precis som med Disk Storage finns det två alternativ:

  • Azure Files Standard Storage backas upp av vanliga hårddiskar (HDD).
  • Azure Files Premium Storage backar upp filresursen med högpresterande SSD-enheter. Den minsta filresursstorleken för Premium är 100 GB.

Azure Files har följande replikeringsalternativ för lagringskontot för att skydda dina data vid fel:

Du kan optimera kostnaderna för Azure Files genom att köpa Azure Files kapacitetsreservationer.

Azure NetApp Files

Precis som AWS NetApp ONTAP är Azure NetApp Files en lagringstjänst för fillagring i företagsklass med höga prestanda. Azure NetApp Files hanteras fullständigt i Azure med hjälp av NetApp-lösningar. Precis som Azure Files låter Azure NetApp Files flera poddar montera en volym. Du kan använda Astra Trident, en dynamisk lagringsorkestrerare med öppen källkod för Kubernetes, för att konfigurera AKS-klustret så att det använder Azure NetApp Files.

Tänk på resursbegränsningarna för Azure NetApp Files. Den minsta storleken på en kapacitetspool för Azure NetApp Files är 4 TiB. Azure NetApp Files avgifter efter etablerad storlek i stället för använd kapacitet.

Azure HPC Cache

Azure HPC Cache påskyndar åtkomsten till dina data för HPC-uppgifter, med all skalbarhet för molnlösningar. Om du väljer den här lagringslösningen ska du distribuera AKS-klustret i en region som stöder Azure HPC-cache.

NFS-server

Det bästa alternativet för delad NFS-åtkomst är att använda Azure Files eller Azure NetApp Files. Du kan också skapa en NFS-server på en virtuell Azure-dator som exporterar volymer.

Tänk på att det här alternativet endast stöder statisk etablering. Du måste etablera NFS-resurserna manuellt på servern och kan inte göra det automatiskt från AKS.

Den här lösningen baseras på infrastruktur som en tjänst (IaaS) snarare än plattform som en tjänst (PaaS). Du ansvarar för att hantera NFS-servern, inklusive os-uppdateringar, hög tillgänglighet, säkerhetskopieringar, haveriberedskap och skalbarhet.

Lösningar från tredje part

Precis som Amazon EKS är AKS en Kubernetes-implementering och du kan integrera Kubernetes-lagringslösningar från tredje part. Här är några exempel på lagringslösningar från tredje part för Kubernetes:

  • Rook omvandlar distribuerade lagringssystem till självhanterade lagringstjänster genom att automatisera lagringsadministratörsuppgifter. Rook levererar sina tjänster via en Kubernetes-operatör för varje lagringsprovider.
  • GlusterFS är ett kostnadsfritt och skalbart nätverksfilsystem med öppen källkod som använder vanlig maskinvara för att skapa stora, distribuerade lagringslösningar för dataintensiva och bandbreddsintensiva uppgifter.
  • Ceph tillhandahåller en tillförlitlig och skalbar enhetlig lagringstjänst med objekt-, block- och filgränssnitt från ett enda kluster som skapats av maskinvarukomponenter av standardtypen.
  • Med minIO-objektlagring i flera moln kan företag skapa en AWS S3-kompatibel datainfrastruktur i alla moln, vilket ger ett konsekvent, portabelt gränssnitt för dina data och program.
  • Portworx är en lagrings- och datahanteringslösning från slutpunkt till slutpunkt för Kubernetes-projekt och containerbaserade initiativ. Portworx erbjuder containerkornbaserad lagring, haveriberedskap, datasäkerhet och migreringar med flera moln.
  • Quobyte ger högpresterande fil- och objektlagring som du kan distribuera på valfri server eller i molnet för att skala prestanda, hantera stora mängder data och förenkla administrationen.
  • Ondat levererar ett konsekvent lagringslager på alla plattformar. Du kan köra en databas eller en beständig arbetsbelastning i en Kubernetes-miljö utan att behöva hantera lagringsskiktet.

Överväganden för Kubernetes-lagring

Tänk på följande när du väljer en lagringslösning för Amazon EKS eller AKS.

Åtkomstlägen för lagringsklass

I Kubernetes version 1.21 och senare använder AKS- och Amazon EKS-lagringsklasser endast CSI-drivrutiner (Container Storage Interface) och som standard.

Olika tjänster stöder lagringsklasser som har olika åtkomstlägen.

Tjänst ReadWriteOnce ReadOnlyMany ReadWriteMany
Azure-diskar X
Azure Files X X X
Azure NetApp Files X X X
NFS-server X X X
Azure HPC Cache X X X

Dynamisk eller statisk etablering

Etablera volymer dynamiskt för att minska hanteringskostnaderna för att statiskt skapa beständiga volymer. Ange en korrekt återtagandeprincip för att undvika att ha oanvända diskar när du tar bort poddar.

Backup

Välj ett verktyg för att säkerhetskopiera beständiga data. Verktyget ska matcha din lagringstyp, till exempel ögonblicksbilder, Azure Backup, Velero eller Kasten.

Kostnadsoptimering

Om du vill optimera Azure Storage-kostnader använder du Azure-reservationer. Kontrollera vilka tjänster som stöder Azure-reservationer. Se även Kostnadshantering för ett Kubernetes-kluster.

Deltagare

Den här artikeln underhålls av Microsoft. Den skrevs ursprungligen av följande deltagare.

Huvudförfattare:

Andra deltagare:

Om du vill se icke-offentliga LinkedIn-profiler loggar du in på LinkedIn.

Nästa steg