Den här artikeln beskriver en lösning för att hantera och utföra programdatahantering av tillståndskänsliga containerbaserade program, deras resurser och deras data.
Arkitektur
Ladda ned en Visio-fil med den här arkitekturen.
Dataflöde
Ett Azure NetApp Files-konto skapas i en Azure-prenumeration och kapacitetspooler definieras. Dessa pooler mappas till tjänstnivåer som implementeringen behöver, till exempel Standard, Premium och Ultra.
Ett eller flera AKS-kluster distribueras. Klustren måste vara:
- I en region där AKS och Azure NetApp Files är tillgängliga. Information om regioner där dessa produkter är tillgängliga finns i Produkter tillgängliga per region.
- I ett virtuellt nätverk som har direkt åtkomst till ett undernät som har delegerats för Azure NetApp Files. Mer information finns i Riktlinjer för nätverksplanering för Azure NetApp Files.
En användare registrerar sig för ett Astra Control Service-konto. Astra Control Service använder en autentiseringsuppgift för Azure-tjänstens huvudnamn som har deltagaråtkomst för att hitta de AKS-kluster som ska hanteras. Astra Control Service installerar Astra Trident och skapar lagringsklasser som mappas till varje tjänstnivå när ett kluster läggs till i Astra Control Service. Astra Trident skapar Kubernetes PersistentVolumes (PV:er) från programmet PersistentVolumeClaims (PVCs) med hjälp av de automatiskt distribuerade StorageClass-objekten (SC) som mappar till Kapacitetspoolerna för Azure NetApp Files. Mappningen tar hänsyn till tjänstnivån för kapacitetspoolerna.
Användaren installerar program i AKS-klustren. Möjliga distributionsmetoder inkluderar Helm-diagram, operatorer och YAML-manifest. Programmen kan grupperas efter etiketter eller namnområden. Astra Trident etablerar beständiga volymer baserat på PersistentVolumeClaims med hjälp av objekten
StorageClass
.Astra Control Service hanterar program och deras associerade resurser, till exempel poddar, tjänster, distributioner och
PersistentVolumeClaim
(PVC)-objekt. Den hanterar också den PersistentVolume (PV) som är bunden till PVC. Användare definierar program med någon av följande metoder:- Begränsa dem till ett namnområde
- Använda en anpassad Kubernetes-etikett för att gruppera resurser
Användare kan också gruppera klusteromfattande objekt, till exempel lagringsklasser, med (a) specifika program för att hantera dem tillsammans.
Astra Control Service orkestrerar ögonblicksbilder och säkerhetskopior vid tidpunkt, säkerhetskopieringsprinciper och omedelbara aktiva kloner för att skydda programarbetsbelastningar. Astra Control Service uppnår detta skydd genom att:
Skapa Astra Control Service-skyddsprinciper. Dessa kan göras för ögonblicksbilder och/eller säkerhetskopior och ange ett schema och säkerhetskopieringsmål. Dessa principer gör det möjligt att automatiskt skydda program enligt ett förutbestämt schema.
Ta ögonblicksbilder på begäran för enskilda program eller en grupp med program.
Göra omedelbara säkerhetskopieringar eller kloner för enskilda program eller en grupp program.
När katastrofer eller appfel inträffar återställer säkerhetskopieringar och ögonblicksbilder programmets tillstånd. Användare kan klona och migrera appar mellan namnområden och AKS-kluster. Klustren kan finnas i samma eller separata regioner.
Komponenter
- AKS är en fullständigt hanterad Kubernetes-tjänst som gör det enkelt att distribuera och hantera containerbaserade program. AKS erbjuder serverlös Kubernetes-teknik, en integrerad ci/CD-upplevelse (kontinuerlig integrering och kontinuerlig leverans) och säkerhet och styrning i företagsklass.
- Azure NetApp Files är en Azure Storage-tjänst. Den här tjänsten tillhandahåller NFS-filsystem i företagsklass och SMB-filresurser (Server Message Block). Azure NetApp Files gör det enkelt att migrera och köra komplexa, filbaserade program utan kodändringar. Den här tjänsten passar bra för användare med beständiga volymer i Kubernetes-miljöer.
- Azure Virtual Network är den grundläggande byggstenen för privata nätverk i Azure. Via virtuellt nätverk kan Azure-resurser som virtuella datorer kommunicera säkert med varandra, Internet och lokala nätverk.
- Astra Control Service är en fullständigt hanterad programmedveten datahanteringstjänst. Astra Control Service hjälper dig att hantera, skydda och flytta datarika Kubernetes-arbetsbelastningar i offentliga moln och lokala miljöer. Den här tjänsten tillhandahåller dataskydd, haveriberedskap och migrering för Kubernetes-arbetsbelastningar. Astra Control Service använder den branschledande datahanteringstekniken i Azure NetApp Files för ögonblicksbilder, säkerhetskopior, replikering mellan regioner och kloning.
Alternativ
Du kan använda en anpassad metod med flera delar för att separat säkerhetskopiera eller replikera beständiga volymer, Kubernetes-resurser och andra konfigurationstillståndsresurser som du behöver när du återställer ett program. Men den här metoden kan vara:
- Otymplig.
- Svårt att göra kompatibel med alla appar.
- Svårt att skala över flera appar och miljöer som ett typiskt företag har.
I vissa miljöer kan du minska kostnaderna genom att undvika trafik mellan peer-kopplade virtuella nätverk. Förenkla lösningen för att eliminera den här trafiken. Mer specifikt tar du med AKS-kluster och det undernät som du delegerar för Azure NetApp Files till samma virtuella nätverk, som det här diagrammet illustrerar:
Ladda ned en Visio-fil med den här arkitekturen.
Information om scenario
Med containerbaserade program kan det vara svårt att utföra program-dataskydd. Programmet består av flera mikrotjänster som måste hanteras som en entitet. När du distribuerar affärskritiska arbetsbelastningar på Kubernetes bör hantering av programdata vara:
- Enkel. Det bör vara intuitivt att upprätta dataskyddsprinciper och ögonblicksbilder och säkerhetskopior på begäran. Dessa principer bör inte vara beroende av information om den underliggande infrastrukturen.
- Bärbar. För att göra mobilitet mellan regioner möjlig för program bör flera Kubernetes-kluster kunna använda säkerhetskopiorna.
- Programmedveten. Din lösning bör skydda hela programmet, inklusive Kubernetes-standardresurser som hemligheter,
ConfigMap
objekt och beständiga volymer. Du måste också skydda anpassade Kubernetes-resurser. När det är möjligt bör procedurerna quiesce programmet före ögonblicksbilden och säkerhetskopieringen. Den här metoden förhindrar förlust av data under flygning under säkerhetskopieringar.
NetApp Astra Control Service är en lösning för att utföra tillståndskänslig programdatahantering som hjälper dig att uppfylla dessa mål. Astra Control Service erbjuder funktioner för dataskydd, haveriberedskap och programmobilitet. Det ger tillståndskänsliga AKS-arbetsbelastningar med en omfattande uppsättning lagrings- och programmedvetna datahanteringstjänster. Dataskyddstekniken i Azure NetApp Files ligger till grund för dessa tjänster.
Potentiella användningsfall
Den här lösningen gäller för system som kör tillståndskänsliga program:
- System för kontinuerlig integrering (CI), till exempel Jenkins
- Databasarbetsbelastningar som MySQL, MongoDB och PostgreSQL
- AI- och maskininlärningskomponenter som TensorFlow och PyTorch
- Elasticsearch-distributioner
- Kafka-program
- Plattformar för källkodshantering som GitLab
Att tänka på
Dessa överväganden implementerar grundpelarna i Azure Well-Architected Framework, som är en uppsättning vägledande grundsatser som kan användas för att förbättra kvaliteten på en arbetsbelastning. Mer information finns i Microsoft Azure Well-Architected Framework.
Tillförlitlighet
Tillförlitlighet säkerställer att ditt program kan uppfylla de åtaganden du gör gentemot dina kunder. Mer information finns i Översikt över tillförlitlighetspelare.
När du distribuerar ett AKS-kluster distribuerar du det i en enda region. För att skydda programarbetsbelastningar är det bäst att distribuera arbetsbelastningarna över flera AKS-kluster som sträcker sig över flera regioner. Faktorer som påverkar distributionen är tillgänglighet för AKS-regioner och länkade Azure-regioner. När du distribuerar kluster i flera tillgänglighetszoner distribuerar du noder över flera zoner inom en enda region. Den här fördelningen av AKS-klusterresurser förbättrar klustertillgängligheten eftersom klustren är motståndskraftiga mot fel i en viss zon.
Azure NetApp Files är mycket tillgängligt avsiktligt. Den bygger på en mycket tillgänglig bare metal-flotta av alla flashlagringssystem. För den här tjänstens tillgänglighetsgaranti, se SLA för Azure NetApp Files.
Azure NetApp Files stöder replikering mellan regioner för haveriberedskap. Du kan replikera volymer mellan Azure-regionpar kontinuerligt. Mer information om replikering mellan regioner finns i följande resurser:
- Allmän information finns i Replikering mellan regioner av Azure NetApp Files-volymer.
- Krav för replikering mellan regioner finns i Hantera haveriberedskap med replikering mellan regioner.
- Information om hur du konfigurerar replikering mellan regioner finns i Skapa volymreplikering för Azure NetApp Files.
Kostnadsoptimering
Kostnadsoptimering handlar om att titta på sätt att minska onödiga utgifter och förbättra drifteffektiviteten. Mer information finns i Översikt över kostnadsoptimeringspelare.
Använd Priskalkylatorn för Azure för att beräkna kostnaden för följande komponenter:
- AKS
- Azure NetApp Files
- Virtual Network
Prisplaner för Astra Control Service finns i Prissättning. Genom att använda Astra Control Service kan du fokusera på ditt program i stället för att lägga tid och resurser på att skapa anpassade lösningar som inte skalas. Astra Control Service är tillgängligt på Azure Marketplace.
Om du vill köra detaljerade bandbredds- och prisberäkningar använder du Prestandakalkylatorn för Azure NetApp Files. Grundläggande och avancerade kalkylatorer finns tillgängliga.
Driftsäkerhet
Driftskvalitet omfattar de driftsprocesser som distribuerar ett program och håller det igång i produktion. Mer information finns i Översikt över grundpelare för driftskvalitet.
När du arbetar med Kubernetes-kontrollplanet är det viktigt att övervaka infrastrukturen och plattformsskiktet. Astra Control Service tillhandahåller ett enhetligt kontrollplan som du kan använda för att definiera och hantera programskyddsprinciper i flera AKS-kluster. En instrumentpanel ger dig ett sätt att kontinuerligt hantera arbetsbelastningar i olika regioner. Astra Trident innehåller också en omfattande uppsättning Prometheus-mått som du kan använda för att övervaka etablerad lagring.
Prestandaeffektivitet
Prestandaeffektivitet handlar om att effektivt skala arbetsbelastningen baserat på användarnas behov. Mer information finns i Översikt över grundpelare för prestandaeffektivitet.
AKS-kluster kan lägga till extra arbetsnoder för att öka skalbarheten. Om du vill skala din lösning kan du lägga till nodpooler eller skala befintliga nodpooler. De här stegen ökar antalet noder i klustret, det totala antalet kärnor och det minne som är tillgängligt för dina containerbaserade program.
I varje virtuellt nätverk kan du bara delegera ett undernät för Azure NetApp Files.
När du använder en grundläggande konfiguration för Azure NetApp Files-nätverksfunktioner finns det en gräns på 1 000 IP-adresser per virtuellt nätverk. Konfigurationen av standardnätverksfunktioner begränsar inte antalet IP-adresser. Mer information finns i Konfigurera nätverksfunktioner. En fullständig lista över resursgränser för Azure NetApp Files finns i Resursgränser för Azure NetApp Files.
Azure NetApp Files erbjuder flera prestandanivåer. När du använder Astra Control Service för att identifiera AKS-kluster skapar registreringsprocessen utvalda StorageClass
objekt som mappas till tjänstnivåerna Standard, Premium och Ultra. När användarna distribuerar program väljer de en lagringsnivå som passar deras krav. Flera kapacitetspooler kan samexistera. Etablerade volymer har en prestandagaranti som motsvarar tjänstnivån. En lista över tjänstnivåer som Stöds av Azure NetApp Files finns i Tjänstnivåer för Azure NetApp Files.
Distribuera det här scenariot
För att implementera den här lösningen behöver du ett Azure-konto. Skapa ett konto utan kostnad.
Följ dessa steg för att distribuera det här scenariot:
- Registrera resursprovidern som gör det möjligt att använda Azure NetApp Files.
- Granska kraven för att använda Astra Control Service med AKS.
- Använd Azure-portalen för att skapa ett NetApp-konto.
- Konfigurera kapacitetspooler på Azure NetApp Files-kontot.
- Delegera ett undernät för Azure NetApp Files.
- Skapa ett tjänsthuvudnamn för Astra Control Service som ska användas för att identifiera AKS-kluster och utföra säkerhetskopierings-, återställnings- och datahanteringsåtgärder.
- Registrera dig för Astra Control Service genom att skapa ett NetApp Cloud Central-konto.
- Lägg till AKS-kluster i Astra Control Service för att börja hantera program.
- Identifiera program i Astra Control Service. Hur du identifierar och hanterar program beror på hur du distribuerar och identifierar dem. Typiska identifieringsstrategier är att gruppera programobjekt i ett dedikerat namnområde, tilldela etiketter till objekt som utgör ett program och använda Helm-diagram. Astra Control Service stöder alla tre strategierna.
- Upprätta skyddsprinciper för att säkerhetskopiera och återställa program. Innan du definierar skyddsprinciper bör du tydligt identifiera dina arbetsbelastningar. En förutsättning är att Astra Control Service unikt kan identifiera varje program. Mer information finns i Börja hantera appar.
Anvisningar som du kan vidta för att skydda program finns i Haveriberedskap för AKS-arbetsbelastningar med Astra Control Service och Azure NetApp Files.
Detaljerad information om Astra Control Service finns i Dokumentation om Astra Control Service.
Deltagare
Den här artikeln underhålls av Microsoft. Den skrevs ursprungligen av följande deltagare.
Huvudförfattare:
- Arnt de Gier | Teknisk marknadsföringstekniker
Övriga medarbetare:
- Paolo Salvatori | Huvudkundtekniker
Nästa steg
Information om hur du använder AKS för att distribuera ett kluster finns i Självstudie: Distribuera ett AKS-kluster (Azure Kubernetes Service).
Information om hur du kommer igång med Azure NetApp Files finns i Snabbstart: Konfigurera Azure NetApp Files och skapa en NFS-volym.
Mer information om Astra Control Service finns i Dokumentation om Astra Control Service.
En detaljerad förklaring av hur du använder Astra Control Service för haveriberedskap finns i Haveriberedskap för AKS-arbetsbelastningar med Astra Control Service och Azure NetApp Files.
Information om hur du kör flera instanser av ett AKS-kluster i flera regioner finns i AKS-baslinjen för kluster i flera regioner.
Allmän information om lösningskomponenter finns i följande resurser: