Distribuire un cluster Valkey nel servizio Azure Kubernetes (AKS)

Questo articolo riepiloga i passaggi per distribuire Valkey, un archivio dati chiave/valore open source (BSD) a prestazioni elevate nel servizio Azure Kubernetes. La distribuzione di Valkey è incentrata sull'uso di repliche e zone di disponibilità per l'alta disponibilità e la resilienza. Forniamo anche indicazioni per testare la resilienza dell'implementazione Valkey usando il framework di test di carico Locust.

Importante

Il software open source è menzionato nella documentazione e negli esempi del servizio Azure Kubernetes. Il software distribuito è escluso dagli accordi a livello di servizio Azure Kubernetes, dalla garanzia limitata e dal supporto tecnico di Azure. Quando si usa la tecnologia open source insieme al servizio Azure Kubernetes, consultare le opzioni del supporto disponibili nelle rispettive community e i gestori di progetto per sviluppare un piano.

Microsoft si assume la responsabilità di creare i pacchetti open source distribuiti nel servizio Azure Kubernetes. Tale responsabilità include la proprietà completa del processo di compilazione, analisi, firma, convalida e hotfix, oltre al controllo sui file binari nelle immagini del contenitore. Per altre informazioni, vedere Gestione delle vulnerabilità per il servizio Azure Kubernetes e Copertura del supporto del servizio Azure Kubernetes.

Che cos'è Valkey?

Valkey è un fork del progetto Redis che mantiene la sua licenza open source originale. Valkey è un database con prestazioni elevate che supporta un archivio dati chiave-valore e che è possibile utilizzare per la memorizzazione nella cache, l'archiviazione delle sessioni, le code di messaggi e altro ancora. Un cluster Valkey include più nodi responsabili dell'hosting degli archivi dati Valkey. Valkey suddivide i dati in parti più piccole e le distribuisce tra i nodi. In un cluster Valkey semplificato costituito da tre nodi primari, un singolo nodo di replica supporta ogni nodo per abilitare le funzionalità di failover di base. I dati vengono distribuiti tra i nodi, consentendo al cluster di continuare a funzionare anche se si verifica un errore in uno dei nodi.

Diagramma dell'architettura di Valkey distribuito su AKS con tre nodi primari e una replica per ciascun nodo primario.

Per altre informazioni, vedere la documentazione di Valkey.

Panoramica della soluzione Valkey

Questa soluzione distribuisce tre pod primari Valkey in due zone di disponibilità, con un pod di replica per ogni pod primario in una terza zona, in esecuzione sui nodi SKU Standard_E64_v5. Si creano due risorse distinte StatefulSet con spec.affinity regole che garantiscono la distribuzione tra zone per l'alta disponibilità. Si crea un StatefulSet per i pod primari di Valkey e un altro per i pod di replica.

Note

Si noti che la soluzione suggerita in questo articolo è diversa da quella della documentazione di Valkey, in cui i pod del cluster appartengono a un singolo StatefulSet e che spec.affinity garantisce che i pod vengano posizionati in nodi diversi. L'inizializzazione automatica del cluster Valkey presentata nella documentazione di Valkey non garantisce che i pod primario e di replica della stessa partizione siano posizionati in zone di disponibilità diverse.

Passo successivo

Collaboratori

Microsoft gestisce questo articolo. I collaboratori seguenti l'hanno scritto originariamente:

  • Nelly Kiboi | Tecnico del servizio
  • Saverio Proto | Principal Customer Experience Engineer
  • Don High | Ingegnere Principale del Cliente
  • LaBrina Loving | Tecnico del servizio principale
  • Ken Kilty | Responsabile TPM
  • Russell de Pina | Responsabile TPM
  • Colin Mixon | Product Manager
  • Ketan Chawda | Senior Customer Engineer
  • Naveed Kharadi ! Tecnico dell'esperienza dei clienti
  • Erin Schaffer | Sviluppatore di contenuti 2