Udostępnij za pośrednictwem


Szybki start: tworzenie klastra usługi Service Fabric przy użyciu szablonu usługi ARM

Usługa Azure Service Fabric to platforma systemów rozproszonych ułatwiająca pakowanie i wdrażanie skalowalnych i niezawodnych mikrousług i kontenerów oraz zarządzanie nimi. Klaster usługi Service Fabric to połączony z siecią zestaw maszyn wirtualnych, w którym są wdrażane i zarządzane mikrousługi. W tym artykule opisano sposób wdrażania klastra testowego usługi Service Fabric na platformie Azure przy użyciu szablonu usługi Azure Resource Manager (szablonu usługi ARM).

Szablon usługi Azure Resource Manager to plik JavaScript Object Notation (JSON), który definiuje infrastrukturę i konfigurację projektu. W szablonie używana jest składnia deklaratywna. Możesz opisać zamierzone wdrożenie bez konieczności pisania sekwencji poleceń programowania w celu utworzenia wdrożenia.

Ten pięciowęźleowy klaster systemu Windows jest zabezpieczony przy użyciu certyfikatu z podpisem własnym, a tym samym przeznaczony tylko do celów instruktażowych (a nie obciążeń produkcyjnych). Użyjemy programu Azure PowerShell do wdrożenia szablonu. Oprócz programu Azure PowerShell można również użyć witryny Azure Portal, interfejsu wiersza polecenia platformy Azure i interfejsu API REST. Aby dowiedzieć się więcej o innych metodach wdrażania, zobacz Wdrażanie szablonów.

Jeśli Twoje środowisko spełnia wymagania wstępne i masz doświadczenie w korzystaniu z szablonów ARM, wybierz przycisk Wdróż na platformie Azure. Szablon zostanie otwarty w witrynie Azure Portal.

Przycisk wdrażania szablonu usługi Resource Manager na platformie Azure.

Wymagania wstępne

Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.

Instalowanie zestawów SDK usługi Service Fabric i modułów programu PowerShell

Aby ukończyć ten szybki start, należy wykonać następujące czynności:

Pobieranie przykładowego szablonu i skryptu pomocnika certyfikatu

Sklonuj lub pobierz repozytorium Szablony szybkiego startu Azure Resource Manager. Alternatywnie skopiuj lokalnie następujące pliki, których będziemy używać z folderu service-fabric-secure-cluster-5-node-1-nodetype :

Logowanie się do platformy Azure

Zaloguj się do platformy Azure i wyznaczyj subskrypcję do użycia do tworzenia klastra usługi Service Fabric.

# Sign in to your Azure account
Login-AzAccount -SubscriptionId "<subscription ID>"

Tworzenie certyfikatu z podpisem własnym przechowywanego w usłudze Key Vault

Usługa Service Fabric używa certyfikatów X.509 do zabezpieczania klastra i zapewniania funkcji zabezpieczeń aplikacji oraz usługi Key Vault do zarządzania tymi certyfikatami. Pomyślne utworzenie klastra wymaga certyfikatu klastra, aby umożliwić komunikację między węzłami. W celu utworzenia tego klastra testowego szybkiego startu utworzymy certyfikat z podpisem własnym na potrzeby uwierzytelniania klastra. Obciążenia produkcyjne wymagają certyfikatów utworzonych przy użyciu poprawnie skonfigurowanej usługi certyfikatu systemu Windows Server lub jednego z zatwierdzonego urzędu certyfikacji.

# Designate unique (within cloudapp.azure.com) names for your resources
$resourceGroupName = "SFQuickstartRG"
$keyVaultName = "SFQuickstartKV"

# Create a new resource group for your Key Vault and Service Fabric cluster
New-AzResourceGroup -Name $resourceGroupName -Location SouthCentralUS

# Create a Key Vault enabled for deployment
New-AzKeyVault -VaultName $keyVaultName -ResourceGroupName $resourceGroupName -Location SouthCentralUS -EnabledForDeployment

# Generate a certificate and upload it to Key Vault
.\scripts\New-ServiceFabricClusterCertificate.ps1

Skrypt wyświetli monit o wprowadzenie następujących informacji (pamiętaj, aby zmodyfikować CertDNSName i KeyVaultName z poniższych przykładowych wartości):

  • Hasło: Hasło!1
  • CertDNSName:sfquickstart.southcentralus.cloudapp.azure.com
  • KeyVaultName:SFQuickstartKV
  • KeyVaultSecretName: clustercert

Po zakończeniu skrypt udostępni wartości parametrów potrzebne do wdrożenia szablonu. Pamiętaj, aby przechowywać je w następujących zmiennych, ponieważ będą one potrzebne do wdrożenia szablonu klastra:

$sourceVaultId = "<Source Vault Resource Id>"
$certUrlValue = "<Certificate URL>"
$certThumbprint = "<Certificate Thumbprint>"

Przegląd szablonu

Szablon użyty w tym szybkim startu pochodzi z Azure Quickstart Templates. Szablon dla tego artykułu jest zbyt długi, aby pokazać tutaj. Aby wyświetlić szablon, zobacz plik azuredeploy.json .

W szablonie zdefiniowano wiele zasobów platformy Azure:

Aby znaleźć więcej szablonów związanych z usługą Azure Service Fabric, zobacz Szablony szybkiego startu platformy Azure.

Dostosowywanie pliku parametrów

Otwórz azuredeploy.parameters.json i edytuj wartości parametrów, aby:

  • nazwa_klastra odpowiada wartości podanej dla nazwy CertDNSName podczas tworzenia certyfikatu klastra
  • adminUserName jest wartością inną niż domyślny token GEN-UNIQUE
  • adminPassword jest wartością inną niż domyślny token GEN-PASSWORD
  • certificateThumbprint, sourceVaultResourceId i certificateUrlValue są pustym ciągiem ("")

Na przykład:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "clusterName": {
      "value": "sfquickstart"
    },
    "adminUsername": {
      "value": "testadm"
    },
    "adminPassword": {
      "value": "Password#1234"
    },
    "certificateThumbprint": {
      "value": ""
    },
    "sourceVaultResourceId": {
      "value": ""
    },
    "certificateUrlValue": {
      "value": ""
    }
  }
}

Wdrażanie szablonu

Zapisz ścieżki plików szablonu i parametrów usługi ARM w zmiennych, a następnie wdróż szablon.

$templateFilePath = "<full path to azuredeploy.json>"
$parameterFilePath = "<full path to azuredeploy.parameters.json>"

New-AzResourceGroupDeployment `
    -ResourceGroupName $resourceGroupName `
    -TemplateFile $templateFilePath `
    -TemplateParameterFile $parameterFilePath `
    -CertificateThumbprint $certThumbprint `
    -CertificateUrlValue $certUrlValue `
    -SourceVaultResourceId $sourceVaultId `
    -Verbose

Przeglądanie wdrożonych zasobów

Po zakończeniu wdrażania znajdź managementEndpoint wartość w danych wyjściowych i otwórz adres w przeglądarce internetowej, aby wyświetlić klaster w narzędziu Service Fabric Explorer.

Program Service Fabric Explorer przedstawiający nowy klaster

Punkt końcowy narzędzia Service Fabric Explorer można również znaleźć w bloku zasobów usługi Service Explorer w witrynie Azure Portal.

Blok zasobów usługi Service Fabric przedstawiający punkt końcowy narzędzia Service Fabric Explorer

Czyszczenie zasobów

Gdy grupa zasobów nie będzie już potrzebna, usuń grupę zasobów, która usuwa zasoby w grupie zasobów.

$resourceGroupName = Read-Host -Prompt "Enter the Resource Group name"
Remove-AzResourceGroup -Name $resourceGroupName
Write-Host "Press [ENTER] to continue..."

Następnie usuń certyfikat klastra z magazynu lokalnego. Wyświetl listę zainstalowanych certyfikatów, aby znaleźć odcisk palca dla klastra:

Get-ChildItem Cert:\CurrentUser\My\

Następnie usuń certyfikat:

Get-ChildItem Cert:\CurrentUser\My\{THUMBPRINT} | Remove-Item

Następne kroki

Aby dowiedzieć się więcej o tworzeniu niestandardowego szablonu klastra usługi Azure Service Fabric, zobacz: