Najlepsze rozwiązania dotyczące magazynu i tworzenia kopii zapasowych w usłudze Azure Kubernetes Service (AKS)
Podczas tworzenia klastrów i zarządzania nimi w usłudze Azure Kubernetes Service (AKS) aplikacje często potrzebują magazynu. Upewnij się, że rozumiesz potrzeby dotyczące wydajności zasobników i metody dostępu, aby można było wybrać najlepszy magazyn dla aplikacji. Rozmiar węzła usługi AKS może mieć wpływ na wybór magazynu. Zaplanuj sposoby tworzenia kopii zapasowej i testowania procesu przywracania dla dołączonego magazynu.
Ten artykuł dotyczący najlepszych rozwiązań koncentruje się na zagadnieniach dotyczących magazynu dla operatorów klastra. W tym artykule podano informacje o:
- Jakie typy magazynów są dostępne.
- Jak poprawnie ustawiać rozmiar węzłów usługi AKS na potrzeby wydajności magazynu.
- Różnice między aprowizowaniem dynamicznym i statycznym woluminów.
- Sposoby tworzenia kopii zapasowych i zabezpieczania woluminów danych.
Wybieranie odpowiedniego typu magazynu
Wskazówki dotyczące najlepszych rozwiązań
Poznaj potrzeby aplikacji, aby wybrać odpowiedni magazyn. Używaj magazynu opartego na dyskach SSD o wysokiej wydajności na potrzeby obciążeń produkcyjnych. Zaplanuj magazyn oparty na sieci, gdy potrzebujesz wielu połączeń współbieżnych.
Aplikacje często wymagają różnych typów i szybkości magazynowania. Określ najbardziej odpowiedni typ magazynu, zadając następujące pytania.
- Czy aplikacje wymagają magazynu, który łączy się z poszczególnymi zasobnikami?
- Czy aplikacje wymagają magazynu współużytkowanego w wielu zasobnikach?
- Czy magazyn służy do uzyskiwania dostępu tylko do odczytu do danych?
- Czy magazyn będzie używany do zapisywania dużych ilości danych ustrukturyzowanych?
W poniższej tabeli przedstawiono dostępne typy magazynów i ich możliwości:
Przypadek użycia | Wtyczka woluminu | Odczyt/zapis jednokrotny | Wiele tylko do odczytu | Odczyt/zapis — wiele | Obsługa kontenera systemu Windows Server |
---|---|---|---|---|---|
Konfiguracja udostępniona | Azure Files | Tak | Tak | Tak | Tak |
Dane aplikacji ustrukturyzowanej | Azure Disks | Tak | Nie. | Nie. | Tak |
Dane bez struktury, operacje systemu plików | BlobFuse | Tak | Tak | Tak | Nie. |
Usługa AKS udostępnia dwa podstawowe typy bezpiecznego magazynu dla woluminów wspieranych przez usługę Azure Disks lub Azure Files. Oba używają domyślnego szyfrowania usługi Azure Storage (SSE), który szyfruje dane magazynowane. Dysków nie można zaszyfrować przy użyciu usługi Azure Disk Encryption na poziomie węzła usługi AKS. W przypadku udziałów usługi Azure Files nie ma limitu liczby zainstalowanych w węźle.
Usługi Azure Files i Dyski platformy Azure są dostępne w warstwach wydajności Standardowa i Premium:
- Dyski w warstwie Premium
- Wspierane przez dyski półprzewodnikowe o wysokiej wydajności (SSD).
- Zalecane dla wszystkich obciążeń produkcyjnych.
- Dyski w warstwie Standardowa
- Poparte zwykłymi dyskami wirowymi (HDD).
- Dobra w przypadku archiwizowania lub rzadko używanych danych.
Mimo że domyślna warstwa magazynowania dla sterownika CSI dysku platformy Azure to SSD w warstwie Premium, niestandardowa klasa StorageClass może używać dysków SSD w warstwie Premium, dysków SSD w warstwie Standardowa lub hdd w warstwie Standardowa.
Poznaj wymagania dotyczące wydajności aplikacji i wzorce dostępu, aby wybrać odpowiednią warstwę magazynowania. Aby uzyskać więcej informacji na temat rozmiarów Dyski zarządzane i warstw wydajności, zobacz Omówienie usługi Azure Dyski zarządzane.
Tworzenie klas magazynu i używanie ich do definiowania potrzeb aplikacji
Zdefiniuj typ magazynu, który ma być używany przy użyciu klas magazynu Kubernetes. Klasa magazynu jest następnie przywołyowana w specyfikacji zasobnika lub wdrożenia. Definicje klas magazynu współpracują ze sobą, aby utworzyć odpowiedni magazyn i połączyć go z zasobnikami.
Aby uzyskać więcej informacji, zobacz Klasy magazynu w usłudze AKS.
Ustawianie rozmiaru węzłów na potrzeby magazynu
Wskazówki dotyczące najlepszych rozwiązań
Każdy rozmiar węzła obsługuje maksymalną liczbę dysków. Różne rozmiary węzłów zapewniają również różne ilości magazynu lokalnego i przepustowości sieci. Zaplanuj odpowiednio wymagania aplikacji, aby wdrożyć odpowiedni rozmiar węzłów.
Węzły usługi AKS działają jako różne typy i rozmiary maszyn wirtualnych platformy Azure. Każdy rozmiar maszyny wirtualnej zapewnia:
- Inna ilość zasobów podstawowych, takich jak procesor CPU i pamięć.
- Maksymalna liczba dysków, które można dołączyć.
Wydajność magazynu różni się również między rozmiarami maszyn wirtualnych w przypadku maksymalnej liczby operacji we/wy na sekundę na dysku lokalnym i dołączonym (operacje wejścia/wyjścia na sekundę).
Jeśli aplikacje wymagają usługi Azure Disks jako rozwiązania magazynu, zastrateguj odpowiedni rozmiar maszyny wirtualnej węzła. Możliwości magazynu i ilości procesora CPU i pamięci odgrywają ważną rolę podczas podejmowania decyzji o rozmiarze maszyny wirtualnej.
Na przykład zarówno rozmiary maszyn wirtualnych Standard_B2ms, jak i Standard_DS2_v2 obejmują podobną ilość zasobów procesora CPU i pamięci, ich potencjalna wydajność magazynu różni się:
Typ i rozmiar węzła | Procesor wirtualny | Pamięć (GiB) | Maks. liczba dysków danych | Maksymalna liczba operacji we/wy na sekundę dysku bez buforu | Maksymalna przepływność niebuforowana (MB/s) |
---|---|---|---|---|---|
Standard_B2ms | 2 | 8 | 100 | 1920 | 22,5 |
Standard_DS2_v2 | 2 | 7 | 8 | 6,400 | 96 |
W tym przykładzie Standard_DS2_v2 oferuje dwa razy więcej dołączonych dysków i trzy do czterech razy większą liczbę operacji we/wy na sekundę i przepływność dysku. Jeśli porównasz tylko podstawowe zasoby obliczeniowe i porównasz koszty, możesz wybrać Standard_B2ms rozmiar maszyny wirtualnej o niskiej wydajności magazynu i ograniczeniach.
Skontaktuj się z zespołem deweloperów aplikacji, aby zrozumieć ich pojemność magazynu i wymagania dotyczące wydajności. Wybierz odpowiedni rozmiar maszyny wirtualnej dla węzłów usługi AKS, aby spełnić lub przekroczyć ich wymagania dotyczące wydajności. Regularne ustawianie rozmiaru maszyny wirtualnej zgodnie z potrzebami.
Uwaga
Domyślnie rozmiar dysku i wydajność dysków zarządzanych są przypisywane zgodnie z wybraną jednostki SKU maszyny wirtualnej i liczbą procesorów wirtualnych. Domyślne określanie rozmiaru dysku systemu operacyjnego jest używane tylko w nowych klastrach lub pulach węzłów, gdy efemeryczne dyski systemu operacyjnego nie są obsługiwane, a domyślny rozmiar dysku systemu operacyjnego nie jest określony. Aby uzyskać więcej informacji, zobacz Domyślny rozmiar dysku systemu operacyjnego.
Aby uzyskać więcej informacji na temat dostępnych rozmiarów maszyn wirtualnych, zobacz Rozmiary maszyn wirtualnych z systemem Linux na platformie Azure.
Dynamiczne aprowizuj woluminy
Wskazówki dotyczące najlepszych rozwiązań
Aby zmniejszyć nakład pracy związany z zarządzaniem i włączyć skalowanie, unikaj statycznego tworzenia i przypisywania trwałych woluminów. Użyj dynamicznej aprowizacji. W klasach magazynu zdefiniuj odpowiednie zasady odzyskiwania, aby zminimalizować niepotrzebne koszty magazynowania po usunięciu zasobników.
Aby dołączyć magazyn do zasobników, użyj woluminów trwałych. Woluminy trwałe można tworzyć ręcznie lub dynamicznie. Ręczne tworzenie woluminów trwałych zwiększa nakłady pracy związane z zarządzaniem i ogranicza możliwość skalowania. Zamiast tego aprowizuj wolumin trwały dynamicznie, aby uprościć zarządzanie magazynem i umożliwić aplikacjom zwiększanie i skalowanie zgodnie z potrzebami.
Trwałe oświadczenie woluminu (PVC) umożliwia dynamiczne tworzenie magazynu zgodnie z potrzebami. Bazowe dyski platformy Azure są tworzone w postaci żądań zasobników. W definicji zasobnika zażądaj utworzenia woluminu i dołącz go do wyznaczonej ścieżki instalacji.
Aby zapoznać się z pojęciami dotyczącymi dynamicznego tworzenia i używania woluminów, zobacz Trwałe oświadczenia woluminów.
Aby zobaczyć te woluminy w działaniu, zobacz, jak dynamicznie tworzyć i używać woluminu trwałego z dyskami platformy Azure lub usługą Azure Files.
W ramach definicji klas magazynu ustaw odpowiednie zasady odzyskiwania. To polecenie reclaimPolicy steruje zachowaniem bazowego zasobu usługi Azure Storage po usunięciu zasobnika. Bazowy zasób magazynu może zostać usunięty lub zachowany na potrzeby przyszłego użycia zasobnika. Ustaw wartość reclaimPolicy, aby zachować lub usunąć.
Poznaj potrzeby aplikacji i zaimplementuj regularne kontrole zachowanego magazynu, aby zminimalizować ilość nieużywanego i rozliczanego magazynu.
Aby uzyskać więcej informacji na temat opcji klasy magazynu, zobacz Zasady odzyskiwania magazynu.
Zabezpieczanie i tworzenie kopii zapasowych danych
Wskazówki dotyczące najlepszych rozwiązań
Utwórz kopię zapasową danych przy użyciu odpowiedniego narzędzia dla typu magazynu, takiego jak Velero lub Azure Backup. Sprawdź integralność i zabezpieczenia tych kopii zapasowych.
Gdy aplikacje przechowują dane utrwalone na dyskach lub w plikach i używają ich, należy regularnie wykonywać kopie zapasowe lub migawki tych danych. Dyski platformy Azure mogą używać wbudowanych technologii migawek. Aby wykonać operację migawki, aplikacje mogą wymagać opróżnienia operacji zapisu na dysku. Platforma Velero może tworzyć kopie zapasowe woluminów trwałych wraz z dodatkowymi zasobami i konfiguracjami klastra. Jeśli nie możesz usunąć stanu z aplikacji, wykonaj kopię zapasową danych z woluminów trwałych i regularnie przetestuj operacje przywracania, aby zweryfikować integralność danych i wymagane procesy.
Zapoznaj się z ograniczeniami różnych podejść do tworzenia kopii zapasowych danych i w razie potrzeby spoczynku danych przed utworzeniem migawki. Kopie zapasowe danych nie muszą umożliwiać przywracania środowiska aplikacji wdrożenia klastra. Aby uzyskać więcej informacji na temat tych scenariuszy, zobacz Best practices for business continuity and disaster recovery in AKS (Najlepsze rozwiązania dotyczące ciągłości działania i odzyskiwania po awarii w usłudze AKS).
Następne kroki
Ten artykuł koncentruje się na najlepszych rozwiązaniach dotyczących magazynu w usłudze AKS. Aby uzyskać więcej informacji na temat podstaw magazynu na platformie Kubernetes, zobacz Pojęcia dotyczące magazynu dla aplikacji w usłudze AKS.
Azure Kubernetes Service