Udostępnij za pośrednictwem


Wdrażanie klastra Valkey w usłudze Azure Kubernetes Service (AKS)

W tym artykule zapoznajemy się z wyzwaniami dotyczącymi prawidłowego używania stref dostępności platformy Azure przy uruchamianiu klastra Valkey na AKS, przedstawiamy pewne zagadnienia związane z skalowaniem oraz proponujemy rozwiązanie.

Ważne

Oprogramowanie typu open source jest wymienione w dokumentacji i przykładach usługi AKS. Oprogramowanie, które wdrażasz, jest wykluczone z umów na poziomie usług AKS, ograniczonej gwarancji oraz wsparcia technicznego Azure. W miarę korzystania z technologii open source wraz z usługą AKS zapoznaj się z opcjami pomocy technicznej dostępnymi w odpowiednich społecznościach i opiekunami projektów, aby opracować plan.

Na przykład repozytorium Ray GitHub opisuje kilka platform, które różnią się w czasie odpowiedzi, celu i poziomie pomocy technicznej.

Firma Microsoft ponosi odpowiedzialność za tworzenie pakietów typu open source wdrażanych w usłudze AKS. Ta odpowiedzialność obejmuje posiadanie pełnej własności procesu kompilacji, skanowania, podpisywania, weryfikowania i poprawek oraz kontroli nad plikami binarnymi na obrazach kontenerów. Aby uzyskać więcej informacji, zobacz zarządzanie podatnościami dla AKS i zakres wsparcia dla AKS.

Co to jest Valkey?

Valkey to rozwidlenie projektu Redis, który zachowuje oryginalną licencję typu open source. Valkey to baza danych o wysokiej wydajności, która obsługuje magazyn danych typu klucz-wartość, i można ją używać do buforowania, przechowywania sesji, kolejek komunikatów oraz wielu innych zastosowań. Klaster Valkey ma wiele węzłów odpowiedzialnych za hostowanie magazynów danych Valkey. Valkey dzieli dane na mniejsze części i dystrybuuje je między węzłami. W uproszczonym klastrze Valkey składającym się z trzech węzłów podstawowych jeden węzeł repliki obsługuje każdy węzeł w celu włączenia podstawowych funkcji trybu failover. Dane są dystrybuowane między węzłami, umożliwiając klastrowi kontynuowanie działania, nawet jeśli jeden z węzłów ulegnie awarii.

Zrzut ekranu przedstawiający klaster Valkey w usłudze AKS.

Aby uzyskać więcej informacji, zobacz dokumentację Valkey.

Omówienie rozwiązania Valkey

Celem tego rozwiązania jest wdrożenie Valkey na AKS z tym samym poziomem usługi jak warstwa Premium usługi Azure Cache for Redis.

W poniższej tabeli wymieniono kluczowe funkcje warstwy Premium usługi Azure Cache for Redis i proponowane rozwiązanie Valkey:

Warstwa Premium w usłudze Azure Cache for Redis Rozwiązanie Valkey
Pamięć do 1,2 TB Użycie trzech głównych elementów Valkey uruchomionych na Standard_E64_v5 SKU.
Replikacja Dodawanie co najmniej jednego zasobnika repliki na zasobnik podstawowy.
Nadmiarowość strefowa Umieszczanie zasobników podstawowych i replik w różnych strefach dostępności.

Tworzymy dwa odrębne StatefulSet zasoby: jeden dla prawyborów Valkey i jeden dla replik. spec.affinity Interfejs StatefulSet API umieszcza podstawowe zasobniki w dwóch różnych strefach dostępności i zasobnikach repliki w innej trzeciej strefie dostępności. Takie podejście zapewnia, że awaria pojedynczej strefy nie ma wpływu na dostępność żadnego fragmentu Valkey.

Uwaga

Należy pamiętać, że rozwiązanie sugerowane w tym artykule różni się od dokumentacji valkey, w której zasobniki klastra należą do pojedynczego StatefulSetelementu , i spec.affinity zapewnia, że zasobniki są umieszczane w różnych węzłach. Automatyczne inicjowanie klastra Valkey opisane w dokumentacji Valkey nie gwarantuje, że podstawowe i replikowane zasobniki dla tego samego fragmentu są umieszczane w odrębnych strefach dostępności.

Następne kroki

Współautorzy

Firma Microsoft utrzymuje ten artykuł. Następujący współautorzy pierwotnie to napisali:

  • Nelly Kiboi | Inżynier usługi
  • Saverio Proto | Główny inżynier środowiska klienta
  • Don High | Główny inżynier klienta
  • LaBrina Loving | Główny inżynier usługi
  • Ken Kilty | Główny TPM
  • Russell de Pina | Główny Menedżer Programów Technicznych TPM
  • Colin Mixon | Menedżer produktu
  • Ketan Chawda | Starszy inżynier klienta
  • Naveed Kharadi | Inżynier środowiska klienta
  • Erin Schaffer | Content Developer 2