Läs på engelska

Dela via


Distribuera ett Valkey-kluster i Azure Kubernetes Service (AKS)

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.

Till exempel beskriver Ray GitHub-lagringsplatsen flera plattformar som varierar i svarstid, syfte och supportnivå.

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.

Skärmbild av ett Valkey-kluster på AKS.

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.

Nästa steg

Deltagare

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