Udostępnij za pośrednictwem


Opcje magazynu dla klastra Kubernetes

W tym artykule porównaliśmy możliwości magazynowania usług Amazon Elastic Kubernetes Service (Amazon EKS) i Azure Kubernetes Service (AKS) oraz opisano opcje przechowywania danych obciążeń w usłudze AKS.

Uwaga

Ten artykuł jest częścią serii artykułów, które ułatwiają specjalistom, którzy znają usługę Amazon EKS, aby zrozumieć usługę Azure Kubernetes Service (AKS).

Opcje magazynu Amazon EKS

W usłudze Amazon EKS po rozwiązaniu Kubernetes w wersji 1.11 klaster ma domyślną klasę StorageClass o nazwie gp2 dla oświadczeń trwałych woluminów. Administratorzy mogą dodawać sterowniki, aby zdefiniować więcej klas magazynu, takich jak:

  • Sterownik Amazon EBS CSI jako dodatek Amazon EKS
  • Dodatek zarządzany samodzielnie przez usługę Amazon EBS CSI
  • Sterownik AMAZON EFS CSI
  • Sterownik Amazon FSx for Lustre CSI
  • Sterownik Amazon FSx for NetApp ONTAP CSI

Dodając sterowniki i klasy magazynu, można użyć usług magazynu, takich jak:

  • Amazon Elastic Block Store (Amazon EBS), rozwiązanie magazynu na poziomie bloku używane z wystąpieniami usługi Amazon Elastic Compute Cloud (EC2) do przechowywania trwałych danych. Ta usługa jest podobna do usługi Azure Disk Storage, która ma kilka jednostek SKU, takich jak SSD w warstwie Standardowa, SSD w warstwie Premium lub Ultra Disk Storage, w zależności od wymaganej wydajności.

  • Amazon Elastic File System (Amazon EFS), który zapewnia system plików sieciowych dostęp do zewnętrznych systemów plików, które mogą być współużytkowane przez wystąpienia. Równoważne rozwiązanie platformy Azure to Usługi Azure Files i Azure Files Premium z dostępem zarówno do bloku komunikatów serwera (SMB) 3.0, jak i systemu plików NFS.

  • Lustre, system plików typu open source często używany w obliczeniach o wysokiej wydajności (HPC). Na platformie Azure możesz użyć usługi Ultra Disk Storage lub Azure HPC Cache w przypadku obciążeń, w których szybkość ma znaczenie, na przykład uczenie maszynowe i HPC.

  • NetApp ONTAP, w pełni zarządzany magazyn udostępniony ONTAP w usługach Amazon Web Services (AWS). Azure NetApp Files to podobna usługa magazynu plików na platformie Azure oparta na technologii NetApp.

Opcje magazynu usługi AKS

Każdy klaster usługi AKS domyślnie obejmuje następujące wstępnie utworzone klasy magazynu:

  • Domyślna klasa managed-csimagazynu , używa dysków Disk Storage SSD w warstwie Standardowa. Ssd w warstwie Standardowa to ekonomiczna opcja magazynu zoptymalizowana pod kątem obciążeń wymagających spójnej wydajności przy niższych operacjach wejścia/wyjścia na sekundę (IOPS).
  • Klasa managed-csi-premium używa dysków zarządzanych SSD w warstwie Premium usługi Disk Storage.
  • Klasa azurefile-csi używa usługi Azure Files do zapewnienia współbieżnego dostępu współużytkowanego do tego samego woluminu magazynu przy użyciu protokołu SMB lub NFS.
  • Klasa azurefile-csi-premium używa usługi Azure Files Premium dla udziałów plików z obciążeniami intensywnie korzystającymi z operacji we/wy na sekundę. Usługa Azure Files Premium zapewnia małe opóźnienia i wysoką przepływność wspieraną przez magazyn SSD.

Te opcje można rozszerzyć, dodając inne klasy magazynu i integrując je z innymi dostępnymi rozwiązaniami magazynu, takimi jak:

  • Ultra Disk Storage
  • Azure NetApp Files
  • HPC Cache
  • Serwer NFS
  • Rozwiązania magazynu innych firm

Azure Disk Storage

Domyślnie klaster usługi AKS jest dostarczany ze wstępnie utworzonymi managed-csi klasami magazynu, managed-csi-premium które korzystają z usługi Disk Storage. Podobnie jak w przypadku usługi Amazon EBS, te klasy tworzą dysk zarządzany lub blokują urządzenie dołączone do węzła w celu uzyskania dostępu do zasobnika.

Klasy dysków umożliwiają aprowizację woluminów statycznych i dynamicznych . Zasady odzyskiwania zapewniają usunięcie dysku z woluminem trwałym. Dysk można rozwinąć, edytując oświadczenie trwałego woluminu.

Te klasy magazynu używają dysków zarządzanych platformy Azure z magazynem lokalnie nadmiarowym (LRS). Magazyn LRS oznacza, że dane mają trzy synchroniczne kopie w jednej lokalizacji fizycznej w regionie podstawowym platformy Azure. Magazyn LRS jest najmniej kosztowną opcją replikacji, ale nie oferuje ochrony przed awarią centrum danych. Aby wyeliminować to ryzyko, wykonaj regularne kopie zapasowe lub migawki danych magazynu dyskowego przy użyciu rozwiązań, takich jak Velero lub Azure Backup , które mogą korzystać z wbudowanych technologii migawek.

Obie klasy magazynu są wspierane przez dyski zarządzane, a oba używają dysków SSD. Ważne jest, aby zrozumieć różnice między dyskami w warstwie Standardowa i Premium:

  • Dyski w warstwie Standardowa są wyceniane na podstawie rozmiaru i transakcji magazynu.
  • Dyski w warstwie Premium są naliczane tylko według rozmiaru, co może sprawić, że będą tańsze w przypadku obciążeń wymagających dużej liczby transakcji.
  • Dyski SSD w warstwie Premium zapewniają większą maksymalną przepływność i liczbę operacji we/wy na sekundę, jak pokazano w tym porównaniu.
  • Usługa Premium Storage jest zalecana w przypadku większości obciążeń produkcyjnych i programistycznych.

Jeśli używasz dysków zarządzanych platformy Azure jako podstawowej klasy magazynu, rozważ jednostkę SKU maszyny wirtualnej wybraną dla klastra Kubernetes. Maszyny wirtualne platformy Azure ograniczają liczbę dysków, które można do nich dołączyć, a limit zależy od rozmiaru maszyny wirtualnej. Ponadto, ponieważ dyski platformy Azure są instalowane jako ReadWriteOnce, są dostępne tylko dla jednego zasobnika.

Dyski SSD w warstwie Premium platformy Azure w wersji 2

Dyski SSD w warstwie Premium w warstwie Azure w wersji 2 oferują obciążenia w przedsiębiorstwie intensywnie obciążane operacjami we/wy , spójne opóźnienie dysku w milisekundach oraz wysoką przepływność i operacje we/wy. Wydajność (pojemność, przepływność i liczba operacji we/wy na sekundę) dysków SSD w warstwie Premium w wersji 2 można w dowolnym momencie skonfigurować niezależnie, co ułatwia zwiększenie wydajności scenariuszy przy jednoczesnym spełnieniu potrzeb związanych z wydajnością. Aby uzyskać więcej informacji na temat konfigurowania nowego lub istniejącego klastra usługi AKS do korzystania z dysków SSD w wersji 2 w warstwie Premium platformy Azure, zobacz Korzystanie z dysków SSD w warstwie Premium platformy Azure w wersji 2 w usłudze Azure Kubernetes Service.

Ultra Disk Storage

Magazyn w warstwie Ultra Disk Storage to warstwa dysku zarządzanego platformy Azure, która oferuje wysoką przepływność, dużą ilość operacji we/wy na sekundę i spójny magazyn dysków o małych opóźnieniach dla maszyn wirtualnych platformy Azure. Magazyn w warstwie Ultra Disk jest przeznaczony dla obciążeń, które są duże ilości danych i transakcji. Podobnie jak inne jednostki SKU magazynu dysków i Amazon EBS, magazyn w warstwie Ultra Disk instaluje jeden zasobnik naraz i nie zapewnia współbieżnego dostępu.

Użyj flagi --enable-ultra-ssd , aby włączyć magazyn w warstwie Ultra Disk w klastrze usługi AKS.

Jeśli wybierzesz magazyn w warstwie Ultra Disk, pamiętaj o jego ograniczeniach i upewnij się, że wybrano zgodny rozmiar maszyny wirtualnej. Magazyn w warstwie Ultra Disk jest dostępny z replikacją magazynu lokalnie nadmiarowego (LRS).

Używanie własnych kluczy (BYOK)

Platforma Azure szyfruje wszystkie dane na dysku zarządzanym magazynowanych. Domyślnie dane są szyfrowane przy użyciu kluczy zarządzanych przez firmę Microsoft. Aby uzyskać większą kontrolę nad kluczami szyfrowania, możesz podać klucze zarządzane przez klienta do szyfrowania magazynowanych zarówno dla systemu operacyjnego, jak i dysków danych dla klastrów usługi AKS. Aby uzyskać więcej informacji, zobacz Bring your own keys (BYOK) with Azure managed disks in Azure Kubernetes Service (AKS) (Używanie własnych kluczy (BYOK) za pomocą dysków zarządzanych platformy Azure w usłudze Azure Kubernetes Service (AKS).

Azure Files

Usługa Disk Storage nie może zapewnić współbieżnego dostępu do woluminu, ale można użyć usługi Azure Files do nawiązania połączenia przy użyciu protokołu SMB, a następnie zainstalować udostępniony wolumin wspierany przez usługę Azure Storage. Ten proces zapewnia magazyn dołączony do sieci, który jest podobny do systemu Amazon EFS. Podobnie jak w przypadku usługi Disk Storage, dostępne są dwie opcje:

  • Magazyn w warstwie Standardowa usługi Azure Files jest wspierany przez zwykłe dyski twarde (HDD).
  • Usługa Azure Files Premium Storage wspiera udział plików za pomocą dysków SSD o wysokiej wydajności. Minimalny rozmiar udziału plików w warstwie Premium wynosi 100 GB.

Usługa Azure Files ma następujące opcje replikacji konta magazynu w celu ochrony danych w przypadku awarii:

Aby zoptymalizować koszty usługi Azure Files, kup rezerwacje pojemności usługi Azure Files.

Azure Container Storage

Usługa Azure Container Storage to oparta na chmurze usługa zarządzania woluminami, wdrażania i orkiestracji wbudowana natywnie dla kontenerów. Integruje się z platformą Kubernetes, umożliwiając dynamiczne i automatyczne udostępnianie trwałych wolumenów do przechowywania danych dla aplikacji stanowych działających w klastrach platformy Kubernetes.

Usługa Azure Container Storage korzysta z istniejących ofert usługi Azure Storage dla rzeczywistego magazynu danych i oferuje rozwiązanie do aranżacji woluminów i zarządzania przeznaczone specjalnie dla kontenerów. Obsługiwane opcje magazynu zapasowego obejmują:

  • Dyski platformy Azure: szczegółowa kontrola nad jednostkami SKU magazynu i konfiguracjami. Są one odpowiednie dla baz danych warstwy 1 i ogólnego przeznaczenia.
  • Dyski efemeryczne: korzysta z zasobów magazynu lokalnego w węzłach usługi AKS (NVMe lub ssd tymczasowych). Najlepiej nadaje się dla aplikacji bez wymagań dotyczących trwałości danych lub z wbudowaną obsługą replikacji danych. Usługa AKS odnajduje dostępny magazyn efemeryczny w węzłach usługi AKS i pobiera je do wdrożenia woluminu.
  • Elastyczna sieć SAN platformy Azure: aprowizuj zasób na żądanie, w pełni zarządzany zasób. Odpowiednie dla baz danych ogólnego przeznaczenia, usług przesyłania strumieniowego i komunikatów, środowisk ciągłej integracji/ciągłego wdrażania i innych obciążeń warstwy 1/warstwy 2. Wiele klastrów może uzyskiwać dostęp do pojedynczej sieci SAN jednocześnie, jednak woluminy trwałe mogą być dołączane tylko przez jednego użytkownika jednocześnie.

Do tej pory udostępnianie magazynu w chmurze dla kontenerów wymaganych przy użyciu poszczególnych sterowników interfejsu magazynu kontenerów (CSI) do korzystania z usług magazynu przeznaczonych dla obciążeń infrastruktury jako usługi (IaaS) i zapewnienia ich pracy dla kontenerów. Powoduje to narzut operacyjny i zwiększa ryzyko problemów z dostępnością aplikacji, skalowalnością, wydajnością, użytecznością i kosztami.

Usługa Azure Container Storage pochodzi z rozwiązania OpenEBS typu open source, które zapewnia możliwości magazynu kontenerów dla platformy Kubernetes. Oferując rozwiązanie do orkiestracji woluminów zarządzanych za pośrednictwem kontrolerów magazynu opartych na mikrousługach w środowisku Kubernetes, usługa Azure Container Storage umożliwia korzystanie z rzeczywistego magazynu natywnego dla kontenerów.

Usługa Azure Container Storage jest odpowiednia w następujących scenariuszach:

  • Przyspiesz inicjatywy maszyny wirtualnej do kontenera: usługa Azure Container Storage przedstawia pełne spektrum ofert magazynu blokowego platformy Azure, które były wcześniej dostępne tylko dla maszyn wirtualnych i udostępnia je kontenerom. Obejmuje to dysk efemeryczny, który zapewnia bardzo małe opóźnienia dla obciążeń, takich jak Cassandra, a także azure Elastic SAN, która zapewnia natywne obiekty docelowe iSCSI i współużytkowane.

  • Uprość zarządzanie woluminami za pomocą rozwiązania Kubernetes: zapewniając aranżację woluminów za pośrednictwem płaszczyzny sterowania kubernetes, usługa Azure Container Storage ułatwia wdrażanie woluminów i zarządzanie nimi w ramach platformy Kubernetes — bez konieczności przechodzenia między różnymi płaszczyznami sterowania.

  • Zmniejsz całkowity koszt posiadania (TCO): Zwiększ wydajność kosztową, zwiększając skalę trwałych woluminów obsługiwanych na zasobnik lub węzeł. Zmniejsz zasoby magazynu potrzebne do aprowizacji, dynamicznie udostępniając zasoby magazynu. Należy pamiętać, że obsługa skalowania w górę dla samej puli magazynów nie jest obsługiwana.

Usługa Azure Container Storage zapewnia następujące kluczowe korzyści:

  • Szybkie skalowanie zasobników stanowych: usługa Azure Container Storage instaluje trwałe woluminy za pośrednictwem protokołów magazynu blokowego sieci (NVMe-oF lub iSCSI), oferując szybkie dołączanie i odłączanie woluminów trwałych. Możesz uruchomić małe i wdrażać zasoby w razie potrzeby, upewniając się, że aplikacje nie są zagęszczone lub zakłócane podczas inicjowania lub w środowisku produkcyjnym. Odporność aplikacji jest ulepszona dzięki ponownym spawnom zasobników w klastrze, co wymaga szybkiego przenoszenia trwałych woluminów. Korzystając z protokołów sieci zdalnej, usługa Azure Container Storage ściśle łączy się z cyklem życia zasobnika w celu obsługi wysoce odpornych, wysoce skalowanych aplikacji stanowych w usłudze AKS.

  • Zwiększona wydajność obciążeń stanowych: usługa Azure Container Storage zapewnia lepszą wydajność odczytu i zapewnia wydajność zapisu niemal dysku przy użyciu nvMe-oF za pośrednictwem funkcji RDMA. Dzięki temu klienci mogą efektywnie spełniać wymagania dotyczące wydajności dla różnych obciążeń kontenerów, w tym intensywnie korzystających z operacji we/wy warstwy 1, ogólnego przeznaczenia, poufnej przepływności i tworzenia/testowania. Skracanie czasu dołączania/odłączania woluminów trwałych i minimalizowanie czasu pracy zasobnika w tryb failover.

  • Orkiestracja woluminów natywnych dla platformy Kubernetes: tworzenie pul magazynów i woluminów trwałych, przechwytywanie migawek i zarządzanie całym cyklem życia woluminów przy użyciu kubectl poleceń bez przełączania między zestawami narzędzi dla różnych operacji płaszczyzny sterowania.

Azure NetApp Files

Podobnie jak AWS NetApp ONTAP, usługa Azure NetApp Files to usługa magazynu plików klasy korporacyjnej o wysokiej wydajności. Usługa Azure NetApp Files jest w pełni zarządzana na platformie Azure przy użyciu rozwiązań NetApp. Podobnie jak w przypadku usługi Azure Files, usługa Azure NetApp Files umożliwia instalowanie woluminu przez wiele zasobników. Możesz użyć narzędzia Astra Trident, dynamicznego orkiestratora magazynu typu open source dla platformy Kubernetes, aby skonfigurować klaster usługi AKS do korzystania z usługi Azure NetApp Files.

Należy pamiętać o limitach zasobów dla usługi Azure NetApp Files. Minimalny rozmiar puli pojemności dla usługi Azure NetApp Files to 4 TiB. Opłaty za usługę Azure NetApp Files według aprowizowanego rozmiaru zamiast używanej pojemności.

Azure HPC Cache

Usługa Azure HPC Cache przyspiesza dostęp do danych na potrzeby zadań HPC ze wszystkimi skalowalnościami rozwiązań w chmurze. Jeśli wybierzesz to rozwiązanie magazynu, pamiętaj, aby wdrożyć klaster usługi AKS w regionie obsługującym pamięć podręczną HPC platformy Azure.

Serwer NFS

Najlepszą opcją dostępu do udostępnionego systemu plików NFS jest użycie usługi Azure Files lub Usługi Azure NetApp Files. Możesz również utworzyć serwer NFS na maszynie wirtualnej platformy Azure, która eksportuje woluminy.

Należy pamiętać, że ta opcja obsługuje tylko statyczną aprowizację. Należy ręcznie aprowizować udziały NFS na serwerze i nie można tego zrobić automatycznie z usługi AKS.

To rozwiązanie jest oparte na infrastrukturze jako usłudze (IaaS), a nie na platformie jako usłudze (PaaS). Odpowiadasz za zarządzanie serwerem NFS, w tym aktualizacjami systemu operacyjnego, wysoką dostępnością, kopiami zapasowymi, odzyskiwaniem po awarii i skalowalnością.

Efemeryczny dysk systemu operacyjnego

Domyślnie platforma Azure automatycznie replikuje dysk systemu operacyjnego dla maszyny wirtualnej do usługi Azure Storage, aby uniknąć utraty danych po przeniesieniu maszyny wirtualnej do innego hosta. Jednak ponieważ kontenery nie są zaprojektowane tak, aby stan lokalny był utrwalone, to zachowanie zapewnia ograniczoną wartość przy jednoczesnym zapewnieniu pewnych wad. Te wady obejmują, ale nie są ograniczone do wolniejszej aprowizacji węzłów i większego opóźnienia odczytu/zapisu.

Natomiast efemeryczne dyski systemu operacyjnego są przechowywane tylko na maszynie hosta, podobnie jak dysk tymczasowy. Dzięki tej konfiguracji uzyskujesz mniejsze opóźnienie odczytu/zapisu wraz z szybszym skalowaniem węzłów i uaktualnieniami klastra.

Uwaga

Jeśli nie żądasz jawnie dysków zarządzanych platformy Azure dla systemu operacyjnego, usługa AKS domyślnie używa efemerycznego systemu operacyjnego, jeśli jest to możliwe dla danej konfiguracji puli węzłów.

Aby uzyskać więcej informacji, zobacz:

Rozwiązania innych firm

Podobnie jak usługa Amazon EKS, usługa AKS jest implementacją platformy Kubernetes i możesz zintegrować rozwiązania magazynu Kubernetes innej firmy. Oto kilka przykładów rozwiązań magazynu innych firm dla platformy Kubernetes:

  • Funkcja Rook zamienia rozproszone systemy magazynowania w usługi magazynu samodzielnego zarządzania, automatyzując zadania administratora magazynu. Rozwiązanie Rook dostarcza swoje usługi za pośrednictwem operatora Kubernetes dla każdego dostawcy magazynu.
  • GlusterFS to bezpłatny i skalowalny system plików sieciowych typu open source, który korzysta ze wspólnego sprzętu gotowego do tworzenia dużych, rozproszonych rozwiązań magazynu na potrzeby zadań intensywnie korzystających z danych i intensywnie korzystających z przepustowości.
  • Ceph zapewnia niezawodną i skalowalną ujednoliconą usługę magazynu z interfejsami obiektów, bloków i plików z jednego klastra utworzonego na podstawie składników sprzętowych towarów.
  • Magazyn obiektów z wieloma chmurami MinIO umożliwia przedsiębiorstwom tworzenie infrastruktury danych zgodnej z usługą AWS S3 w dowolnej chmurze, zapewniając spójny, przenośny interfejs dla danych i aplikacji.
  • Portworx to kompleksowe rozwiązanie do magazynowania i zarządzania danymi dla projektów Kubernetes i inicjatyw opartych na kontenerach. Portworx oferuje magazyn szczegółowy kontenera, odzyskiwanie po awarii, zabezpieczenia danych i migracje w wielu chmurach.
  • Rozwiązanie Quobyte zapewnia magazyn plików i obiektów o wysokiej wydajności, który można wdrożyć na dowolnym serwerze lub w chmurze, aby skalować wydajność, zarządzać dużymi ilościami danych i upraszczać administrację.
  • Platforma Ondat zapewnia spójną warstwę magazynowania na dowolnej platformie. Możesz uruchomić bazę danych lub dowolne trwałe obciążenie w środowisku Kubernetes bez konieczności zarządzania warstwą magazynu.

Zagadnienia dotyczące magazynu Kubernetes

Podczas wybierania rozwiązania magazynu dla usługi Amazon EKS lub AKS należy wziąć pod uwagę następujące czynniki.

Tryby dostępu do klas magazynu

W przypadku platformy Kubernetes w wersji 1.21 i nowszych klasy magazynów AKS i Amazon EKS używają tylko sterowników interfejsu magazynu kontenerów (CSI) i domyślnie.

Różne usługi obsługują klasy magazynu, które mają różne tryby dostępu.

Usługa ReadWriteOnce ReadOnlyMany ReadWriteMany
Azure Disks X
Azure Files X X X
Azure NetApp Files X X X
Serwer NFS X X X
Azure HPC Cache X X X

Aprowizacja dynamiczna a statyczna

Dynamiczne inicjowanie obsługi woluminów w celu zmniejszenia obciążenia związanego z zarządzaniem statycznym tworzeniem woluminów trwałych. Ustaw prawidłowe zasady odzyskiwania, aby uniknąć nieużywanych dysków podczas usuwania zasobników.

Wykonywanie kopii zapasowej

Wybierz narzędzie do tworzenia kopii zapasowych danych trwałych. Narzędzie powinno być zgodne z typem magazynu, takim jak migawki, usługa Azure Backup, Velero lub Kasten.

Optymalizacja kosztów

Aby zoptymalizować koszty usługi Azure Storage, użyj rezerwacji platformy Azure. Upewnij się, że sprawdź, które usługi obsługują rezerwacje platformy Azure. Zobacz też Zarządzanie kosztami dla klastra Kubernetes.

Współautorzy

Ten artykuł jest obsługiwany przez firmę Microsoft. Pierwotnie został napisany przez następujących współautorów.

Autorzy zabezpieczeń:

Inni współautorzy:

  • Chad Kittel | Główny inżynier oprogramowania
  • Cena Ed | Starszy menedżer programu zawartości
  • Theano Petersen | Składnik zapisywania technicznego

Aby wyświetlić niepubalne profile serwisu LinkedIn, zaloguj się do serwisu LinkedIn.

Następne kroki