Metodtips för lagring och säkerhetskopiering i Azure Kubernetes Service (AKS)

När du skapar och hanterar kluster i Azure Kubernetes Service (AKS) behöver dina program ofta lagring. Se till att du förstår prestandabehov och åtkomstmetoder för poddar så att du kan välja den bästa lagringen för ditt program. AKS-nodstorleken kan påverka dina lagringsalternativ. Planera för sätt att säkerhetskopiera och testa återställningsprocessen för ansluten lagring.

Den här artikeln om metodtips fokuserar på lagringsöverväganden för klusteroperatorer. I den här artikel får du lära dig om:

  • Vilka typer av lagring är tillgängliga.
  • Så här storleksanpassar du AKS-noder korrekt för lagringsprestanda.
  • Skillnader mellan dynamisk och statisk etablering av volymer.
  • Sätt att säkerhetskopiera och skydda dina datavolymer.

Välj lämplig lagringstyp

Vägledning för bästa praxis

Förstå programmets behov av att välja rätt lagring. Använd hög prestanda, SSD-backad lagring för produktionsarbetsbelastningar. Planera för nätverksbaserad lagring när du behöver flera samtidiga anslutningar.

Program kräver ofta olika typer och lagringshastigheter. Bestäm den lämpligaste lagringstypen genom att ställa följande frågor.

  • Behöver dina program lagring som ansluter till enskilda poddar?
  • Behöver dina program lagring delas mellan flera poddar?
  • Är lagringen för skrivskyddad åtkomst till data?
  • Kommer lagringen att användas för att skriva stora mängder strukturerade data?

I följande tabell beskrivs tillgängliga lagringstyper och deras funktioner:

Användningsfall Volym-plugin-program Läsa/skriva en gång Skrivskyddade många Läsa/skriva många Stöd för Windows Server-container
Delad konfiguration Azure Files Ja Ja Ja Ja
Strukturerade appdata Azure-diskar Ja No No Ja
Ostrukturerade data, filsystemåtgärder BlobFuse Ja Ja Ja Nej

AKS tillhandahåller två primära typer av säker lagring för volymer som backas upp av Azure Disks eller Azure Files. Båda använder standardkryptering av Azure Storage Service (SSE) som krypterar vilande data. Diskar kan inte krypteras med Azure Disk Encryption på AKS-nodnivå. Med Azure Files-resurser finns det ingen gräns för hur många som kan monteras på en nod.

Både Azure Files och Azure Disks är tillgängliga på standard- och Premium-prestandanivåer:

  • Premium-diskar
    • Backas upp av högpresterande solid state-diskar (SSD).
    • Rekommenderas för alla produktionsarbetsbelastningar.
  • Standarddiskar
    • Backas upp av vanliga snurrande diskar (HDD).
    • Bra för arkivering eller sällan använda data.

Standardlagringsnivån för Azure Disk CSI-drivrutinen är Premium SSD, men din anpassade StorageClass kan använda Premium SSD, Standard SSD eller Standard HDD.

Förstå programmets prestandabehov och åtkomstmönster för att välja lämplig lagringsnivå. Mer information om storlekar och prestandanivåer för hanterade diskar finns i Översikt över Azure Managed Disks.

Skapa och använda lagringsklasser för att definiera programbehov

Definiera vilken typ av lagring du vill använda med kubernetes-lagringsklasser. Lagringsklassen refereras sedan till i podden eller distributionsspecifikationen. Lagringsklassdefinitioner fungerar tillsammans för att skapa lämplig lagring och ansluta den till poddar.

Mer information finns i Lagringsklasser i AKS.

Ändra storlek på noderna efter lagringsbehov

Vägledning för bästa praxis

Varje nodstorlek stöder ett maximalt antal diskar. Olika nodstorlekar ger också olika mängder lokal lagring och nätverksbandbredd. Planera på rätt sätt för dina programkrav för att distribuera rätt storlek på noder.

AKS-noder körs som olika typer och storlekar för virtuella Azure-datorer. Varje VM-storlek ger:

  • En annan mängd kärnresurser, till exempel CPU och minne.
  • Ett maximalt antal diskar som kan anslutas.

Lagringsprestanda varierar också mellan VM-storlekar för maximal lokal och ansluten disk-IOPS (indata-/utdataåtgärder per sekund).

Om dina program kräver Azure Disks som lagringslösning kan du strategiisera en lämplig vm-storlek för noden. Lagringsfunktioner och processor- och minnesmängder spelar en viktig roll när du bestämmer dig för en VM-storlek.

Även om både Standard_B2ms och Standard_DS2_v2 VM-storlekar innehåller en liknande mängd processor- och minnesresurser, skiljer sig deras potentiella lagringsprestanda åt:

Nodtyp och storlek vCPU Minne (GiB) Maximalt antal datadiskar Maximalt antal oanslutna disk-IOPS Maximalt oåtkomt dataflöde (Mbit/s)
Standard_B2ms 2 8 4 1 920 22,5
Standard_DS2_v2 2 7 8 6,400 96

I det här exemplet erbjuder Standard_DS2_v2 dubbelt så många anslutna diskar och tre till fyra gånger så mycket IOPS och diskdataflöde. Om du bara jämförde kärnberäkningsresurser och jämför kostnader kan du ha valt den Standard_B2ms VM-storleken med dåliga lagringsprestanda och begränsningar.

Arbeta med ditt programutvecklingsteam för att förstå deras lagringskapacitet och prestandabehov. Välj lämplig VM-storlek för AKS-noderna för att uppfylla eller överskrida deras prestandabehov. Regelbundet baslinjeprogram för att justera VM-storlek efter behov.

Kommentar

Som standard tilldelas diskstorlek och prestanda för hanterade diskar enligt det valda antalet virtuella dator-SKU:er och vCPU. Standardstorleken för operativsystemdiskar används endast i nya kluster eller nodpooler när tillfälliga operativsystemdiskar inte stöds och ingen standardstorlek för operativsystemdiskarna har angetts. Mer information finns i Standardstorlek för OS-disk.

Mer information om tillgängliga VM-storlekar finns i Storlekar för virtuella Linux-datorer i Azure.

Dynamiskt etablera volymer

Vägledning för bästa praxis

Undvik statiskt skapa och tilldela beständiga volymer för att minska hanteringskostnaderna och aktivera skalning. Använd dynamisk etablering. I dina lagringsklasser definierar du lämplig återställningsprincip för att minimera onödiga lagringskostnader när poddar tas bort.

Om du vill ansluta lagring till poddar använder du beständiga volymer. Beständiga volymer kan skapas manuellt eller dynamiskt. Om du skapar beständiga volymer läggs hanteringskostnaderna till manuellt och du kan skalas. Etablera i stället beständiga volymer dynamiskt för att förenkla lagringshanteringen och göra det möjligt för dina program att växa och skala efter behov.

Diagram över beständiga volymanspråk i ett AkS-kluster (Azure Kubernetes Services).

Med ett beständiga volymanspråk (PVC) kan du dynamiskt skapa lagring efter behov. Underliggande Azure-diskar skapas när poddar begär dem. I podddefinitionen begär du att en volym skapas och kopplas till en angiven monteringssökväg.

Begreppen om hur du dynamiskt skapar och använder volymer finns i Beständiga volymanspråk.

Om du vill se dessa volymer i praktiken kan du se hur du dynamiskt skapar och använder en beständiga volym med Azure Disks eller Azure Files.

Som en del av definitionerna för lagringsklassen anger du lämplig reclaimPolicy. Den här reclaimPolicy styr beteendet för den underliggande Azure-lagringsresursen när podden tas bort. Den underliggande lagringsresursen kan antingen tas bort eller behållas för framtida poddanvändning. Ange reclaimPolicy för att behålla eller ta bort.

Förstå dina programbehov och implementera regelbundna kontroller för kvarhållen lagring för att minimera mängden oanvänd och fakturerad lagring.

Mer information om alternativ för lagringsklass finns i Principer för lagringsåtertagande.

Skydda och säkerhetskopiera dina data

Vägledning för bästa praxis

Säkerhetskopiera dina data med ett lämpligt verktyg för din lagringstyp, till exempel Velero eller Azure Backup. Kontrollera säkerhetskopiornas integritet och säkerhet.

När dina appar lagrar och använder data som sparas på diskar eller i filer måste du ta regelbundna säkerhetskopior eller ögonblicksbilder av dina data. Azure Disks har inbyggd teknik för ögonblicksbilder. Dina program kan behöva rensa skrivningar till disk innan du utför ögonblicksbilden. Velero kan säkerhetskopiera beständiga volymer tillsammans med ytterligare klusterresurser och konfigurationer. Om du inte kan ta bort tillstånd från dina program säkerhetskopierar du data från beständiga volymer och testar regelbundet återställningsåtgärderna för att verifiera dataintegriteten och de processer som krävs.

Förstå begränsningarna för de olika metoderna för datasäkerhetskopior och om du behöver quiesce dina data före ögonblicksbilden. Med datasäkerhetskopior behöver du inte nödvändigtvis återställa programmiljön för klusterdistribution. Mer information om dessa scenarier finns i Metodtips för affärskontinuitet och haveriberedskap i AKS.

Nästa steg

Den här artikeln fokuserar på metodtips för lagring i AKS. Mer information om grunderna för lagring i Kubernetes finns i Lagringsbegrepp för program i AKS.