Planowanie i przygotowywanie wdrożenia klastraPlan and prepare for a cluster deployment

Planowanie i przygotowywanie wdrożenia klastra produkcyjnego jest bardzo ważne.Planning and preparing for a production cluster deployment is very important. Istnieje wiele czynników, które należy wziąć pod uwagę.There are many factors to consider. W tym artykule przedstawiono kroki przygotowywania wdrożenia klastra.This article walks you through the steps of preparing your cluster deployment.

Przeczytaj informacje o najlepszych rozwiązaniachRead the best-practices information

Aby pomyślnie zarządzać aplikacjami i klastrami platformy Azure Service Fabric, istnieją operacje, dla których zdecydowanie zalecamy przeprowadzenie optymalizacji niezawodności środowiska produkcyjnego.To manage Azure Service Fabric applications and clusters successfully, there are operations that we highly recommend you perform to optimize the reliability of your production environment. Aby uzyskać więcej informacji, Przeczytaj Service Fabric najlepszych rozwiązań dotyczących aplikacji i klastrów.For more information, read Service Fabric application and cluster best practices.

Wybierz system operacyjny dla klastraSelect the OS for the cluster

Service Fabric umożliwia tworzenie klastrów Service Fabric na wszystkich maszynach wirtualnych lub komputerach z systemem Windows Server lub Linux.Service Fabric allows for the creation of Service Fabric clusters on any VMs or computers running Windows Server or Linux. Przed wdrożeniem klastra należy wybrać system operacyjny: Windows lub Linux.Before deploying your cluster, you must choose the OS: Windows or Linux. W każdym węźle (maszynie wirtualnej) w klastrze działa ten sam system operacyjny, nie można mieszać maszyn wirtualnych z systemami Windows i Linux w tym samym klastrze.Every node (virtual machine) in the cluster runs the same OS, you cannot mix Windows and Linux VMs in the same cluster.

Planowanie pojemnościCapacity planning

W przypadku wszystkich wdrożeń produkcyjnych planowanie pojemności jest ważnym krokiem.For any production deployment, capacity planning is an important step. Poniżej przedstawiono niektóre zagadnienia, które należy uwzględnić w ramach tego procesu.Here are some things to consider as a part of that process.

  • Początkowa liczba typów węzłów klastraThe initial number of node types for your cluster
  • Właściwości każdego typu węzła (rozmiar, liczba wystąpień, podstawowe, połączenie z Internetem, liczba maszyn wirtualnych itp.)The properties of each of node type (size, number of instances, primary, internet facing, number of VMs, etc.)
  • Charakterystyka niezawodności i trwałości klastraThe reliability and durability characteristics of the cluster

Wybierz początkową liczbę typów węzłówSelect the initial number of node types

Najpierw należy ustalić, co tworzony klaster ma być używany dla programu.First, you need to figure out what the cluster you are creating is going to be used for. Jakiego rodzaju aplikacje są planowane do wdrożenia w tym klastrze?What kinds of applications you are planning to deploy into this cluster? Czy Twoja aplikacja ma wiele usług i czy wszystkie z nich muszą być dostępne publicznie czy z Internetu?Does your application have multiple services, and do any of them need to be public or internet facing? Czy usługi (które tworzą aplikację) mają różne potrzeby związane z infrastrukturą, takie jak większa ilość pamięci RAM czy więcej cykli procesora CPU?Do your services (that make up your application) have different infrastructure needs such as greater RAM or higher CPU cycles? Klaster Service Fabric może składać się z więcej niż jednego typu węzła: podstawowego typu węzła i jednego lub więcej typów węzłów innych niż podstawowe.A Service Fabric cluster can consist of more than one node type: a primary node type and one or more non-primary node types. Każdy typ węzła jest mapowany na zestaw skalowania maszyn wirtualnych.Each node type is mapped to a virtual machine scale set. Następnie każdy typ węzła może być niezależnie skalowany w górę lub w dół oraz może mieć różne zestawy otwartych portów i różne metryki pojemności.Each node type can then be scaled up or down independently, have different sets of ports open, and can have different capacity metrics. Właściwości węzła i ograniczenia umieszczania można skonfigurować w celu ograniczenia określonych usług do określonych typów węzłów.Node properties and placement constraints can be set up to constrain specific services to specific node types. Aby uzyskać więcej informacji, zobacz Service Fabric planowanie pojemności klastra.For more information, see Service Fabric cluster capacity planning.

Wybierz właściwości węzła dla każdego typu węzłaSelect node properties for each node type

Typy węzłów definiują jednostkę SKU, liczbę i właściwości maszyn wirtualnych w skojarzonym zestawie skalowania.Node types define the VM SKU, number, and properties of the VMs in the associated scale set.

Minimalny rozmiar maszyn wirtualnych dla każdego typu węzła jest określany na podstawie wybranej warstwy trwałości dla typu węzła.The minimum size of VMs for each node type is determined by the durability tier you choose for the node type.

Minimalna liczba maszyn wirtualnych dla typu węzła podstawowego jest określana na podstawie wybranej warstwy niezawodności .The minimum number of VMs for the primary node type is determined by the reliability tier you choose.

Zapoznaj się z minimalnymi zaleceniami dotyczącymi typów węzłów podstawowych, obciążeń stanowych dla typów węzłów innych niż podstawowei bezstanowych obciążeń dla typów węzłów innych niż podstawowe.See the minimum recommendations for primary node types, stateful workloads on non-primary node types, and stateless workloads on non-primary node types.

Każda większa niż minimalna liczba węzłów powinna być oparta na liczbie replik aplikacji/usług, które mają być uruchamiane w tym typie węzła.Any more than the minimum number of nodes should be based on the number of replicas of the application/services that you want to run in this node type. Planowanie wydajności aplikacji Service Fabric ułatwia oszacowanie zasobów potrzebnych do uruchamiania aplikacji.Capacity planning for Service Fabric applications helps you estimate the resources you need to run your applications. Klaster można zawsze skalować w górę lub w dół w celu dostosowania się do zmieniających się obciążeń aplikacji.You can always scale the cluster up or down later to adjust for changing application workload.

Używanie tymczasowych dysków systemu operacyjnego dla zestawów skalowania maszyn wirtualnychUse ephemeral OS disks for virtual machine scale sets

Dyski tymczasowe systemu operacyjnego są magazynem utworzonym na lokalnej maszynie wirtualnej i nie zostały zapisane w zdalnej usłudze Azure Storage.Ephemeral OS disks are storage created on the local virtual machine (VM), and not saved to remote Azure Storage. Są one zalecane dla wszystkich typów węzłów Service Fabric (podstawowych i pomocniczych), w porównaniu do tradycyjnych stałych dysków systemu operacyjnego, dysków tymczasowych systemu operacyjnego:They are recommended for all Service Fabric node types (Primary and Secondary), because compared to traditional persistent OS disks, ephemeral OS disks:

  • Zmniejsz opóźnienie odczytu/zapisu na dysku systemu operacyjnegoReduce read/write latency to OS disk
  • Włącz szybsze operacje zarządzania węzłami resetowania/ponownego obrazuEnable faster reset/reimage node management operations
  • Obniżenie kosztów ogólnych (dyski są bezpłatne i nie wiążą się z dodatkowym kosztem magazynowania)Reduce overall costs (the disks are free and incur no additional storage cost)

Tymczasowe dyski systemu operacyjnego nie są konkretną funkcją Service Fabric, ale raczej funkcją zestawów skalowania maszyn wirtualnych platformy Azure, które są mapowane do typów węzłów Service Fabric.Ephemeral OS disks is not a specific Service Fabric feature, but rather a feature of the Azure virtual machine scale sets that are mapped to Service Fabric node types. Użycie ich z Service Fabric wymaga następujących w szablonie Azure Resource Manager klastra:Using them with Service Fabric requires the following in your cluster Azure Resource Manager template:

  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 ma wystarczający rozmiar pamięci podręcznej, aby zapewnić obsługę rozmiaru dysku systemu operacyjnego (patrz Uwaga poniżej). Na przykład:Ensure your node types specify supported Azure VM sizes for Ephemeral OS disks, and that the VM size has sufficient cache size to support its OS disk size (see Note below.) For example:

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

    Uwaga

    Pamiętaj, aby wybrać rozmiar maszyny wirtualnej z rozmiarem pamięci podręcznej równym lub większym niż rozmiar dysku systemu operacyjnego maszyny wirtualnej. w przeciwnym razie wdrożenie platformy Azure może spowodować błąd (nawet jeśli jest to początkowo zaakceptowane).Be sure to select a VM size with a cache size equal or greater than the OS disk size of the VM itself, otherwise your Azure deployment might result in error (even if it's initially accepted).

  2. Określ wersję zestawu skalowania maszyn wirtualnych ( vmssApiVersion ) 2018-06-01 lub nowszą:Specify a virtual machine scale set version (vmssApiVersion) of 2018-06-01 or later:

    "variables": {
        "vmssApiVersion": "2018-06-01",
    
  3. W sekcji zestaw skalowania maszyn wirtualnych szablonu wdrożenia Określ Local opcję dla diffDiskSettings :In the virtual machine scale set section of your deployment template, specify Local option for 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 zostałby utracony w przypadku uaktualnienia systemu operacyjnego.User applications should not have any dependency/file/artifact on the OS disk, as the OS disk would be lost in the case of an OS upgrade.

Uwaga

Istniejących nietymczasowych VMSS nie można uaktualnić w miejscu, aby można było używać dysków tymczasowych.Existing non-ephemeral VMSS can't be upgraded in-place to use ephemeral disks. Aby przeprowadzić migrację, użytkownicy będą musieli dodać nowe NodeType z dyskami z systemem tymczasowych, przenieść obciążenia do nowej nodeType, & usunąć istniejące NodeType.To migrate, users will have to add a new nodeType with ephemeral disks, move the workloads to the new nodeType & remove the existing nodeType.

Aby uzyskać więcej informacji i więcej opcji konfiguracji, zobacz dyski tymczasowe systemu operacyjnego dla maszyn wirtualnych platformy AzureFor more info and further configuration options, see Ephemeral OS disks for Azure VMs

Wybierz poziomy trwałości i niezawodności dla klastraSelect the durability and reliability levels for the cluster

Warstwa trwałości służy do wskazywania, że system ma uprawnienia do programu z podstawową infrastrukturą platformy Azure.The durability tier is used to indicate to the system the privileges that your VMs have with the underlying Azure infrastructure. W przypadku typu węzła podstawowego to uprawnienie umożliwia Service Fabric wstrzymanie wszelkich żądań infrastruktury na poziomie maszyny wirtualnej (takich jak ponowne uruchomienie maszyny wirtualnej, odtwarzanie maszyn wirtualnych lub migracja maszyny wirtualnej), które mają wpływ na wymagania dotyczące kworum usług systemowych i usług stanowych.In the primary node type, this privilege allows Service Fabric to pause any VM level infrastructure request (such as a VM reboot, VM reimage, or VM migration) that impact the quorum requirements for the system services and your stateful services. W przypadku typów węzłów innych niż podstawowe to uprawnienie umożliwia Service Fabric wstrzymanie wszelkich żądań infrastruktury na poziomie maszyny wirtualnej (takich jak ponowne uruchomienie maszyny wirtualnej, odtwarzanie maszyn wirtualnych i migracja maszyn wirtualnych), które mają wpływ na wymagania dotyczące kworum dla usług stanowych.In the non-primary node types, this privilege allows Service Fabric to pause any VM level infrastructure requests (such as VM reboot, VM reimage, and VM migration) that impact the quorum requirements for your stateful services. Aby uzyskać zalety różnych poziomów i zaleceń dotyczących poziomu użycia i czasu, zobacz charakterystyki trwałości klastra.For advantages of the different levels and recommendations on which level to use and when, see The durability characteristics of the cluster.

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.The reliability tier is used to set the number of replicas of the system services that you want to run in this cluster on the primary node type. Im większa liczba replik, tym bardziej niezawodna usługa systemowa znajduje się w klastrze.The more the number of replicas, the more reliable the system services are in your cluster. Aby uzyskać zalety różnych poziomów i zaleceń dotyczących poziomu użycia i, zobacz Charakterystyka niezawodności klastra.For advantages of the different levels and recommendations on which level to use and when, see The reliability characteristics of the cluster.

Włączanie zwrotnego serwera proxy i/lub systemu DNSEnable reverse proxy and/or DNS

Usługi łączące się ze sobą w klastrze zwykle mogą bezpośrednio uzyskiwać dostęp do punktów końcowych innych usług, ponieważ węzły w klastrze znajdują się w tej samej sieci lokalnej.Services connecting to each other inside a cluster generally can directly access the endpoints of other services because the nodes in a cluster are on the same local network. Aby ułatwić łączenie się między usługami, Service Fabric zapewnia dodatkowe usługi: usługi DNS i odwrotnej usługi serwera proxy.To make it easier to connect between services, Service Fabric provides additional services: A DNS service and a reverse proxy service. Obie usługi mogą być włączane podczas wdrażania klastra.Both services can be enabled when deploying a cluster.

Ponieważ wiele usług, szczególnie usługi kontenerowe, może mieć istniejącą nazwę adresu URL, można je rozwiązać przy użyciu standardowego protokołu DNS (zamiast protokołu Usługa nazewnictwa) jest wygodne, szczególnie w scenariuszach aplikacji "Unieś i Shift".Since many services, especially containerized services, can have an existing URL name, being able to resolve these using the standard DNS protocol (rather than the Naming Service protocol) is convenient, especially in application "lift and shift" scenarios. Jest to dokładnie działanie usługi DNS.This is exactly what the DNS service does. Umożliwia mapowanie nazw DNS na nazwę usługi, a tym samym rozwiązanie adresów IP punktów końcowych.It enables you to map DNS names to a service name and hence resolve endpoint IP addresses.

Zwrotny serwer proxy odnosi się do usług w klastrze, które uwidaczniają punkty końcowe HTTP (w tym HTTPS).The reverse proxy addresses services in the cluster that expose HTTP endpoints (including HTTPS). Zwrotny serwer proxy znacznie upraszcza wywoływanie innych usług przez podanie określonego formatu identyfikatora URI.The reverse proxy greatly simplifies calling other services by providing a specific URI format. Zwrotny serwer proxy obsługuje również kroki rozwiązywania, nawiązywania połączenia i ponawiania próby wymagane dla jednej usługi do komunikacji z inną.The reverse proxy also handles the resolve, connect, and retry steps required for one service to communicate with another.

Przygotowywanie do odzyskiwania po awariiPrepare for disaster recovery

Krytyczna część dostarczania wysokiej dostępności zapewnia, że usługi mogą przetrwać wszystkie różne typy awarii.A critical part of delivering high-availability is ensuring that services can survive all different types of failures. Jest to szczególnie ważne w przypadku nieplanowanych awarii i poza formantem.This is especially important for failures that are unplanned and outside of your control. Przygotowanie do odzyskiwania po awarii zawiera opis niektórych typowych trybów awarii, które mogą być awariami, jeśli nie są poprawnie modelowane i zarządzane.Prepare for disaster recovery describes some common failure modes that could be disasters if not modeled and managed correctly. Omówiono w nim również środki zaradcze i działania podejmowane w przypadku wystąpienia awarii.It also discusses mitigations and actions to take if a disaster happened anyway.

Lista kontrolna gotowości do produkcjiProduction readiness checklist

Czy Twoja aplikacja i klaster są gotowe do przetworzenia ruchu produkcyjnego?Is your application and cluster ready to take production traffic? Przed wdrożeniem klastra w środowisku produkcyjnym należy wykonać czynności z listy kontrolnej gotowości produkcyjnej.Before deploying your cluster to production, run through the Production readiness checklist. Utrzymuj bezproblemowe działanie aplikacji i klastra, wykonując czynności wykonywane przez elementy z tej listy kontrolnej.Keep your application and cluster running smoothly by working through the items in this checklist. Zdecydowanie zalecamy, aby wszystkie te elementy były wyszukiwane przed przejściem do środowiska produkcyjnego.We strongly recommend all these items to be checked off before going into production.

Następne krokiNext steps