Distribuera ett Valkey-kluster i Azure Kubernetes Service (AKS)
Artikel
I den här artikeln går vi igenom utmaningarna med att använda Azure-tillgänglighetszoner korrekt när du kör ett Valkey-kluster på AKS, delar några skalningsöverväganden och föreslår en lösning.
Viktigt
Programvara med öppen källkod nämns i AKS-dokumentationen och exempel. Programvara som du distribuerar undantas från AKS-serviceavtal, begränsad garanti och Azure Support. När du använder teknik med öppen källkod tillsammans med AKS kan du läsa supportalternativen som är tillgängliga från respektive community och projektunderhållare för att utveckla en plan.
Microsoft tar ansvar för att skapa de paket med öppen källkod som vi distribuerar på AKS. Det ansvaret omfattar att ha fullständigt ägarskap för bygg-, genomsöknings-, signerings-, validerings- och snabbkorrigeringsprocessen, tillsammans med kontroll över binärfilerna i containeravbildningar. Mer information finns i Sårbarhetshantering för AKS - och AKS-stödtäckning.
Vad är Valkey?
Valkey är en förgrening av Redis-projektet som bevarar sin ursprungliga licens med öppen källkod. Valkey är en databas med höga prestanda som stöder ett nyckelvärdesdatalager och du kan använda den för cachelagring, sessionslagring, meddelandeköer med mera. Ett Valkey-kluster har flera noder som ansvarar för att vara värd för dina Valkey-datalager. Valkey fragmenterar data i mindre delar och sprider dem mellan noderna. I ett förenklat Valkey-kluster som består av tre primära noder stöder en enskild repliknod varje nod för att aktivera grundläggande redundansfunktioner. Data distribueras över noderna, vilket gör att klustret kan fortsätta att fungera även om en av noderna misslyckas.
Mer information finns i Valkey-dokumentationen.
Översikt över Valkey-lösningen
Målet med den här lösningen är att distribuera Valkey på AKS med samma tjänstnivå som Azure Cache for Redis Premium-nivån.
I följande tabell visas viktiga funktioner på Azure Cache for Redis Premium-nivån och den föreslagna Valkey-lösningen:
Azure Cache for Redis Premium-nivå
Valkey-lösning
Minne upp till 1,2 TB
Använda tre Valkey-primärval som körs på SKU:n Standard_E64_v5 .
Replikering
Lägga till minst en replikpodd per primär podd.
Zonredundans
Placera primära poddar och replikpoddar i olika tillgänglighetszoner.
Vi skapar två distinkta StatefulSet resurser: en för Valkey-primärvalen och en för replikerna. API spec.affinity :et StatefulSet placerar de primära poddarna i två olika tillgänglighetszoner och replikpodderna i en annan tredje tillgänglighetszon. Den här metoden säkerställer att ett fel i en zon inte påverkar tillgängligheten för valkey-shard.
Anteckning
Observera att lösningen som föreslås i den här artikeln skiljer sig från Valkey-dokumentationen, där klusterpoddar tillhör en enda StatefulSet, och den spec.affinity enda säkerställer att poddarna placeras på olika noder. Den automatiska initieringen av Valkey-klustret som visas i Valkey-dokumentationen säkerställer inte att de primära poddarna och replikpodderna för samma shard placeras i olika tillgänglighetszoner.
Microsoft underhåller den här artikeln. Följande deltagare skrev den ursprungligen:
Nelly Kiboi | Tjänsttekniker
Saverio Proto | Huvudtekniker för kundupplevelse
Don High | Huvudkundtekniker
LaBrina Loving | Huvudtjänsttekniker
Ken Kilty | Huvudnamn för TPM
Russell de Pina | Huvudnamn för TPM
Colin Mixon | Produktchef
Ketan Chawda | Senior kundtekniker
Naveed Kharadi | Kundupplevelsetekniker
Erin Schaffer | Innehållsutvecklare 2
Samarbeta med oss på GitHub
Källan för det här innehållet finns på GitHub, där du även kan skapa och granska ärenden och pull-begäranden. Se vår deltagarguide för mer information.
Feedback om Azure Kubernetes Service
Azure Kubernetes Service är ett öppen källkod projekt. Välj en länk för att ge feedback:
Administer an SQL Server database infrastructure for cloud, on-premises and hybrid relational databases using the Microsoft PaaS relational database offerings.