Planowanie i przygotowywanie wdrożenia klastra

Planowanie i przygotowywanie wdrożenia klastra produkcyjnego jest bardzo ważne. Należy wziąć pod uwagę wiele czynników. W tym artykule przedstawiono kroki przygotowywania wdrożenia klastra.

Przeczytaj informacje o najlepszych rozwiązaniach

Aby pomyślnie zarządzać aplikacjami i klastrami usługi Azure Service Fabric, zdecydowanie zalecamy wykonanie operacji w celu zoptymalizowania niezawodności środowiska produkcyjnego. Aby uzyskać więcej informacji, przeczytaj Artykuł Service Fabric application and cluster best practices (Najlepsze rozwiązania dotyczące aplikacji usługi Service Fabric i klastra).

Wybierz system operacyjny dla klastra

Usługa Service Fabric umożliwia tworzenie klastrów usługi Service Fabric na dowolnych maszynach wirtualnych lub komputerach z systemem Windows Server lub Linux. Przed wdrożeniem klastra należy wybrać system operacyjny: Windows lub Linux. Każdy węzeł (maszyna wirtualna) w klastrze działa w tym samym systemie operacyjnym. Nie można mieszać maszyn wirtualnych z systemami Windows i Linux w tym samym klastrze.

Planowanie zdolności produkcyjnych

W przypadku każdego wdrożenia produkcyjnego planowanie pojemności jest ważnym krokiem. Oto kilka kwestii, które należy wziąć pod uwagę w ramach tego procesu.

  • Początkowa liczba typów węzłów dla klastra
  • Właściwości każdego typu węzła (rozmiar, liczba wystąpień, podstawowy, dostępny z Internetu, liczba maszyn wirtualnych itp.)
  • Charakterystyka niezawodności i trwałości klastra

Wybierz początkową liczbę typów węzłów

Najpierw musisz dowiedzieć się, do czego będzie używany tworzony klaster. Jakiego rodzaju aplikacje planujesz wdrożyć w tym klastrze? Czy aplikacja ma wiele usług i czy każda z nich musi być publiczna lub internetowa? Czy usługi (które tworzą aplikację) mają różne potrzeby dotyczące infrastruktury, takie jak większe cykle pamięci RAM lub wyższe procesory CPU? Klaster usługi Service Fabric może składać się z więcej niż jednego typu węzła: typu węzła podstawowego i co najmniej jednego typu węzła niepodstawowego. Każdy typ węzła jest mapowany na zestaw skalowania maszyn wirtualnych. Każdy typ węzła można następnie skalować w górę lub w dół niezależnie, mieć różne zestawy otwartych portów i mogą mieć różne metryki pojemności. Właściwości węzła i ograniczenia umieszczania można skonfigurować tak, aby ograniczyć określone usługi do określonych typów węzłów. Aby uzyskać więcej informacji, zobacz Planowanie pojemności klastra usługi Service Fabric.

Wybieranie właściwości węzła dla każdego typu węzła

Typy węzłów definiują jednostkę SKU, liczbę i właściwości maszyn wirtualnych w skojarzonym zestawie skalowania.

Minimalny rozmiar maszyn wirtualnych dla każdego typu węzła zależy od warstwy trwałości wybranej dla typu węzła. Przed wybraniem jednostki SKU maszyny wirtualnej upewnij się, że znasz kroki wymagane do skalowania w pionie , jeśli zdecydujesz, że w przyszłości potrzebujesz innej jednostki SKU maszyny wirtualnej.

Minimalna liczba maszyn wirtualnych dla typu węzła podstawowego jest określana przez wybraną warstwę niezawodności .

Zapoznaj się z minimalnymi zaleceniami dotyczącymi typów węzłów podstawowych, obciążeń stanowych w typach węzłów innych niż podstawowe oraz bezstanowych obciążeń w typach węzłów innych niż podstawowe.

Każda więcej niż minimalna liczba węzłów powinna być oparta na liczbie replik aplikacji/usług, które mają być uruchamiane w tym węźle. Planowanie pojemności aplikacji usługi Service Fabric ułatwia oszacowanie zasobów potrzebnych do uruchamiania aplikacji. Zawsze można skalować klaster w górę lub w dół później, aby dostosować się do zmiany obciążenia aplikacji.

Używanie efemerycznych dysków systemu operacyjnego dla zestawów skalowania maszyn wirtualnych

Efemeryczne dyski systemu operacyjnego są magazynem tworzonym na lokalnej maszynie wirtualnej i nie są zapisywane w zdalnej usłudze Azure Storage. Są one zalecane dla wszystkich typów węzłów usługi Service Fabric (podstawowy i pomocniczy), ponieważ w porównaniu z tradycyjnymi trwałymi dyskami systemu operacyjnego, efemerycznych dysków systemu operacyjnego:

  • Zmniejszanie opóźnienia odczytu/zapisu na dysku systemu operacyjnego
  • Włączanie szybszych operacji resetowania/zarządzania węzłami reimage
  • Obniżanie ogólnych kosztów (dyski są bezpłatne i nie generują dodatkowych kosztów magazynowania)

Efemeryczne dyski systemu operacyjnego nie są określoną funkcją usługi Service Fabric, ale raczej funkcją zestawów skalowania maszyn wirtualnych platformy Azure mapowanych na typy węzłów usługi Service Fabric. Korzystanie z nich w Service Fabric wymaga w szablonie klastra Azure Resource Manager następujących elementów:

  1. Upewnij się, że typy węzłów określają obsługiwane rozmiary maszyn wirtualnych platformy Azure dla dysków tymczasowych systemu operacyjnego i że rozmiar maszyny wirtualnej platformy Azure ma wystarczający rozmiar pamięci podręcznej do obsługi rozmiaru dysku systemu operacyjnego (zobacz Uwaga poniżej). Na przykład:

    "vmNodeType1Size": {
        "type": "string",
        "defaultValue": "Standard_DS3_v2"
    

    Uwaga

    Pamiętaj, aby wybrać rozmiar maszyny wirtualnej o rozmiarze pamięci podręcznej równym lub większym niż rozmiar dysku systemu operacyjnego samej maszyny wirtualnej. W przeciwnym razie wdrożenie platformy Azure może spowodować błąd (nawet jeśli początkowo zostanie zaakceptowany).

  2. Określ wersję zestawu skalowania maszyn wirtualnych vmssApiVersion lub nowszą: 2018-06-01.

    "variables": {
        "vmssApiVersion": "2018-06-01",
    
  3. W sekcji zestawu skalowania maszyn wirtualnych w szablonie wdrożenia, określ opcję Local dla diffDiskSettings.

    "apiVersion": "[variables('vmssApiVersion')]",
    "type": "Microsoft.Compute/virtualMachineScaleSets",
        "virtualMachineProfile": {
            "storageProfile": {
                "osDisk": {
                        "caching": "ReadOnly",
                        "createOption": "FromImage",
                        "diffDiskSettings": {
                            "option": "Local"
                        },
                }
            }
        }
    

Uwaga

Aplikacje użytkownika nie powinny mieć żadnych zależności/plików/artefaktów na dysku systemu operacyjnego, ponieważ dysk systemu operacyjnego zostanie utracony w przypadku uaktualnienia systemu operacyjnego.

Uwaga

Nie można uaktualnić istniejącego nieefemerycznego zestawu skalującego maszyn wirtualnych w miejscu, aby używał dysków efemerycznych. Aby przeprowadzić migrację, użytkownicy będą musieli dodać nowy typ węzła z dyskami efemeracyjnymi, przenieść obciążenia do nowego nodeType i usunąć istniejący typ węzła.

Aby uzyskać więcej informacji i dalsze opcje konfiguracji, zobacz Efemeryczny dysk systemu operacyjnego dla maszyn wirtualnych platformy Azure

Wybieranie poziomów trwałości i niezawodności klastra

Poziom trwałości służy do wskazywania systemowi uprawnień, jakie mają maszyny wirtualne w stosunku do infrastruktury Azure. W podstawowym typie węzła to uprawnienie umożliwia usłudze Service Fabric wstrzymanie dowolnego żądania infrastruktury na poziomie maszyny wirtualnej (na przykład ponowne uruchomienie maszyny wirtualnej, przywracanie obrazu maszyny wirtualnej lub migracja maszyny wirtualnej), które mają wpływ na wymagania kworum dla usług systemowych i usług stanowych. W typach węzłów innych niż podstawowe to uprawnienie umożliwia usłudze Service Fabric wstrzymanie żądań infrastruktury na poziomie maszyny wirtualnej (takich jak ponowne uruchomienie maszyny wirtualnej, ponowny obraz maszyny wirtualnej i migracja maszyny wirtualnej), które mają wpływ na wymagania kworum dla usług stanowych. Aby uzyskać informacje o zaletach różnych poziomów i zaleceń dotyczących tego, na jakim poziomie należy używać i kiedy, zobacz Charakterystykę trwałości klastra.

Warstwa niezawodności służy do ustawiania liczby replik usług systemowych, które mają być uruchamiane w tym klastrze w typie węzła podstawowego. Im więcej replik, tym bardziej niezawodne są usługi systemowe w klastrze. Aby uzyskać korzyści z różnych poziomów i zalecenia dotyczące tego, który poziom należy użyć i kiedy, zobacz Charakterystykę niezawodności klastra.

Włączanie zwrotnego serwera proxy i/lub systemu DNS

Usługi łączące się ze sobą wewnątrz klastra zazwyczaj mogą uzyskiwać bezpośredni dostęp do punktów końcowych innych usług, ponieważ węzły w klastrze znajdują się w tej samej sieci lokalnej. Aby ułatwić nawiązywanie połączenia między usługami, usługa Service Fabric udostępnia dodatkowe usługi: usługę DNS i usługę zwrotnego serwera proxy. Obie usługi można włączyć podczas wdrażania klastra.

Ponieważ wiele usług, zwłaszcza usług konteneryzowanych, może mieć istniejącą nazwę URL, możliwość ich rozpoznawania przy użyciu standardowego protokołu DNS (a nie protokołu usługi nazywania) jest wygodne, szczególnie w scenariuszach "lift and shift" aplikacji. Jest to dokładnie to, co robi usługa DNS. Umożliwia mapować nazwy DNS na nazwę usługi, a tym samym rozwiązywać adresy IP punktu końcowego.

Zwrotny serwer proxy obsługuje usługi w klastrze, które udostępniają punkty końcowe HTTP (w tym HTTPS). Zwrotny serwer proxy znacznie upraszcza wywoływanie innych usług przez udostępnienie określonego formatu identyfikatora URI. Zwrotny serwer proxy obsługuje również kroki rozwiązywania, nawiązywania połączenia i ponawiania próby wymagane przez jedną usługę do komunikowania się z inną usługą.

Przygotowywanie do odzyskiwania po awarii

Krytyczną częścią dostarczania wysokiej dostępności jest zapewnienie, że usługi mogą przetrwać wszystkie różne typy awarii. Jest to szczególnie ważne w przypadku nieplanowanych awarii, które są poza twoją kontrolą. Przygotowanie do odzyskiwania po awarii opisuje niektóre typowe tryby awarii, które mogą być awariami, jeśli nie są prawidłowo modelowane i zarządzane. Omówiono również środki zaradcze i działania, które należy podjąć w przypadku wystąpienia awarii.

Lista kontrolna gotowości do produkcji

Czy aplikacja i klaster są gotowe do podjęcia ruchu produkcyjnego? Przed wdrożeniem klastra w środowisku produkcyjnym uruchom listę kontrolną gotowości produkcyjnej. Zachowaj płynne działanie swojej aplikacji i klastra, realizując elementy tej listy kontrolnej. Zdecydowanie zalecamy, aby wszystkie te elementy były sprawdzone przed przejściem do środowiska produkcyjnego.

Następne kroki