Creare un cluster autonomo in esecuzione su Windows Server

Azure Service Fabric consente di creare cluster Service Fabric su qualsiasi macchina virtuale o computer che esegue Windows Server. In questo modo è possibile distribuire ed eseguire applicazioni di Service Fabric in qualsiasi ambiente che contenga un set di computer Windows Server interconnessi, in locale o con qualsiasi provider di cloud. Service Fabric offre un pacchetto di installazione per la creazione di cluster di Service Fabric, denominato pacchetto autonomo per Windows Server. I cluster di Service Fabric tradizionali in Azure sono disponibili come servizio gestito, mentre i cluster di Service Fabric autonomi sono self-service. Per altre informazioni sulle differenze, vedere Confronto tra Azure e i cluster autonomi di Service Fabric.

Questo articolo illustra la procedura di creazione di un cluster autonomo di Service Fabric.

Nota

Questo pacchetto autonomo di Windows Server è disponibile in commercio gratuitamente e può essere usato per distribuzioni di produzione. Il pacchetto può contenere nuove funzionalità di Service Fabric in "Anteprima". Scorrere verso il basso fino alla sezione "Funzionalità di anteprima incluse in questo pacchetto". Per l'elenco delle funzionalità di anteprima. È possibile scaricare una copia del contratto di licenza ora.

Ottenere supporto per il pacchetto Service Fabric per Windows Server

Scaricare il pacchetto Service Fabric per Windows Server

Per creare il cluster, usare il pacchetto di Service Fabric per Windows Server (Windows Server 2012 R2 e versioni successive) disponibile qui:
Collegamento per il download - Pacchetto autonomo di Service Fabric - Windows Server

Informazioni dettagliate sul contenuto del pacchetto sono disponibili qui.

Il pacchetto di runtime di Service Fabric viene scaricato automaticamente al momento della creazione del cluster. Se si esegue la distribuzione da un computer non connesso a Internet, scaricare il pacchetto di runtime fuori banda da qui:
Collegamento per il download - Runtime di Service Fabric - Windows Server

Trovare esempi di configurazione del cluster autonomo all'indirizzo:
Esempi di configurazione di cluster autonomi

Creare il cluster

Con il pacchetto di installazione vengono installati diversi file di esempio per la configurazione del cluster. ClusterConfig.Unsecure.DevCluster.json è la configurazione del cluster più semplice: un cluster non sicuro, con tre nodi in esecuzione in un singolo computer. Altri file di configurazione descrivono cluster con una o più macchine virtuali protetti con la sicurezza di Windows o certificati X.509. Non è necessario modificare le impostazioni di configurazione predefinite per questa esercitazione, ma è consigliabile esaminare il file di configurazione per acquisire familiarità con le impostazioni. La sezione nodes descrive i tre nodi nel cluster, indicando nome, indirizzo IP, tipo di nodo, dominio di errore e dominio di aggiornamento. La sezione properties definisce le impostazioni per sicurezza, livello di affidabilità, raccolta di dati di diagnostica e tipi di nodi del cluster.

Il cluster creato in questo articolo è senza protezione. Chiunque si può connettere in modo anonimo ed eseguire operazioni di gestione. È quindi necessario proteggere sempre i cluster di produzione usando certificati X.509 o la sicurezza di Windows. La sicurezza viene configurata solo in fase di creazione del cluster e non è possibile abilitare la sicurezza dopo la creazione del cluster. Per aggiornare il file di configurazione abilitare la sicurezza basata su certificati oppure la sicurezza di Windows. Vedere Proteggere un cluster per altre informazioni sulla sicurezza dei cluster di Service Fabric.

Passaggio 1: Creare il cluster

Scenario A: Creare un cluster di sviluppo locale non protetto

Service Fabric può essere distribuito in un cluster di sviluppo macchine usando il file ClusterConfig.Unsecure.DevCluster.json file incluso negli esempi.

Decomprimere il pacchetto autonomo nella macchina, copiare il file di configurazione di esempio nella macchina locale, quindi eseguire lo script CreateServiceFabricCluster.ps1 tramite una sessione di PowerShell come amministratore, dalla cartella del pacchetto autonomo.

.\CreateServiceFabricCluster.ps1 -ClusterConfigFilePath .\ClusterConfig.Unsecure.DevCluster.json -AcceptEULA

Per informazioni dettagliate sulla risoluzione dei problemi, vedere la sezione Configurazione dell'ambiente in Pianificare e preparare la distribuzione del cluster.

Al termine dell'esecuzione degli scenari di sviluppo è possibile rimuovere il cluster Service Fabric dalla macchina facendo riferimento alla procedura della sezione "Rimuovere un cluster".

Scenario B: Creare un cluster multi-computer

Dopo avere eseguito i passaggi di pianificazione e preparazione illustrati in Pianificare e preparare la distribuzione del cluster, si è pronti per creare il cluster di produzione usando il file di configurazione del cluster.

L'amministratore del cluster che distribuisce e configura il cluster deve avere privilegi di amministratore nel computer. Non è possibile installare Service Fabric in un controller di dominio.

  1. Lo script TestConfiguration.ps1 nel pacchetto autonomo viene usato come Best Practices Analyzer per verificare se un cluster possa essere distribuito in un determinato ambiente. La preparazione della distribuzione elenca i prerequisiti e i requisiti dell'ambiente. Eseguire lo script per verificare se è possibile creare il cluster di sviluppo:

    .\TestConfiguration.ps1 -ClusterConfigFilePath .\ClusterConfig.json
    

    L'output dovrebbe essere simile al seguente. Se nel campo in basso "Passed" viene restituito un valore "True", sono stati superati i controlli di integrità ed è possibile distribuire il cluster in base alla configurazione di input.

    Trace folder already exists. Traces will be written to existing trace folder: C:\temp\Microsoft.Azure.ServiceFabric.WindowsServer\DeploymentTraces
    Running Best Practices Analyzer...
    Best Practices Analyzer completed successfully.
    
    LocalAdminPrivilege        : True
    IsJsonValid                : True
    IsCabValid                 : True
    RequiredPortsOpen          : True
    RemoteRegistryAvailable    : True
    FirewallAvailable          : True
    RpcCheckPassed             : True
    NoConflictingInstallations : True
    FabricInstallable          : True
    Passed                     : True
    
  2. Creare il cluster: eseguire lo script CreateServiceFabricCluster.ps1 per la distribuzione del cluster Service Fabric in ogni computer nella configurazione.

    .\CreateServiceFabricCluster.ps1 -ClusterConfigFilePath .\ClusterConfig.json -AcceptEULA
    

Nota

Le tracce di distribuzione vengono scritte nella VM o nel computer in cui è stato eseguito lo script PowerShell CreateServiceFabricCluster.ps1. Sono disponibili nella sottocartella DeploymentTraces all'interno della directory da cui è stato eseguito lo script. Per verificare se Service Fabric è stato distribuito correttamente in un computer, individuare i file installati nella directory FabricDataRoot, come descritto in dettaglio nella sezione FabricSetting del file di configurazione del cluster. Per impostazione predefinita la directory è c:\ProgramData\SF. I processi FabricHost.exe e Fabric.exe possono essere visualizzati in esecuzione in Gestione attività.

Scenario C: Creare un cluster offline (disconnesso da Internet)

Il pacchetto di runtime di Service Fabric viene scaricato automaticamente al momento della creazione del cluster. Quando si distribuisce un cluster a computer non connessi a Internet è necessario scaricare il pacchetto di runtime di Service Fabric separatamente e specificare il percorso del pacchetto al momento della creazione del cluster. Il pacchetto di runtime può essere scaricato separatamente da un altro computer connesso a Internet in Collegamento per il download - Service Fabric Runtime (Runtime di Service Fabric) - Windows Server. Copiare il pacchetto di runtime nella posizione da cui si intende distribuire il cluster offline eseguendo CreateServiceFabricCluster.ps1 con il parametro -FabricRuntimePackagePath incluso, come illustrato in questo esempio:

.\CreateServiceFabricCluster.ps1 -ClusterConfigFilePath .\ClusterConfig.json -FabricRuntimePackagePath .\MicrosoftAzureServiceFabric.cab

.\ClusterConfig.json e .\MicrosoftAzureServiceFabric.cab sono rispettivamente i percorsi per la configurazione del cluster e per il file di runtime con estensione cab.

Passaggio 2: connettersi al cluster

Connettersi al cluster per verificare che il cluster sia in esecuzione e disponibile. Il modulo ServiceFabric di PowerShell viene installato con il runtime. È possibile connettersi al cluster da uno dei nodi del cluster o da un computer remoto con il runtime di Service Fabric. Il cmdlet Connect-ServiceFabricCluster stabilisce una connessione al cluster.

Per connettersi a un cluster non protetto, eseguire il seguente comando di PowerShell:

Connect-ServiceFabricCluster -ConnectionEndpoint <*IPAddressofaMachine*>:<Client connection end point port>

Ad esempio:

Connect-ServiceFabricCluster -ConnectionEndpoint 192.13.123.234:19000

Per altri esempi di connessione a un cluster, vedere Connettersi a un cluster sicuro. Dopo la connessione al cluster, usare il cmdlet Get-ServiceFabricNode per visualizzare un elenco dei nodi presenti nel cluster e informazioni di stato per ogni nodo. HealthState deve essere OK per ogni nodo.

PS C:\temp\Microsoft.Azure.ServiceFabric.WindowsServer> Get-ServiceFabricNode |Format-Table

NodeDeactivationInfo NodeName IpAddressOrFQDN NodeType  CodeVersion  ConfigVersion NodeStatus NodeUpTime NodeDownTime HealthState
-------------------- -------- --------------- --------  -----------  ------------- ---------- ---------- ------------ -----------
                     vm2      localhost       NodeType2 5.6.220.9494 0                     Up 00:03:38   00:00:00              OK
                     vm1      localhost       NodeType1 5.6.220.9494 0                     Up 00:03:38   00:00:00              OK
                     vm0      localhost       NodeType0 5.6.220.9494 0                     Up 00:02:43   00:00:00              OK

Passaggio 3: visualizzare il cluster con Service Fabric Explorer

Service Fabric Explorer rappresenta un ottimo strumento per la visualizzazione del cluster e la gestione delle applicazioni. Service Fabric Explorer è un servizio in esecuzione nel cluster, a cui si accede tramite un browser passando a http://localhost:19080/Explorer.

Il dashboard del cluster offre una panoramica del cluster, incluso un riepilogo dell'integrità delle applicazioni e dei nodi. La visualizzazione dei nodi mostra il layout fisico del cluster. Per un determinato nodo, è possibile esaminare le applicazioni con il codice distribuito in quel nodo.

Service Fabric Explorer

Aggiungere e rimuovere ruoli

È possibile aggiungere o rimuovere nodi nel cluster di Service Fabric autonomo al variare delle esigenze aziendali. Per i passaggi dettagliati, leggere le informazioni su aggiunta e rimozione di nodi in un cluster Service Fabric autonomo.

Rimuovere un cluster

Per rimuovere un cluster, eseguire lo script RemoveServiceFabricCluster.ps1 di Powershell dalla cartella del pacchetto e passare il percorso del file di configurazione JSON. Se necessario, è anche possibile specificare un percorso per il log del processo di eliminazione.

Questo script può essere eseguito su qualsiasi macchina con accesso amministrativo a tutte le macchine elencate come nodi nel file di configurazione del cluster. La macchina in cui viene eseguito lo script non deve necessariamente far parte del cluster.

# Removes Service Fabric from each machine in the configuration
.\RemoveServiceFabricCluster.ps1 -ClusterConfigFilePath .\ClusterConfig.json -Force
# Removes Service Fabric from the current machine
.\CleanFabric.ps1

Dati di telemetria raccolti e come rifiutarli esplicitamente

Per impostazione predefinita, il prodotto raccoglie i dati di telemetria sull'utilizzo di Service Fabric per migliorarlo. Se non è raggiungibile, la configurazione non riesce, a meno che non si rifiutino esplicitamente i dati di telemetria.

  1. Si tratta di un tentativo di caricamento che non influisce sulla funzionalità del cluster. I dati di telemetria vengono inviati solo dal nodo che esegue la gestione failover primaria. Nessun altro nodo invia dati di telemetria.
  2. La telemetria è costituita dagli elementi seguenti:
  • Numero di servizi
  • Numero di elementi ServiceTypes
  • Numero di elementi Applications
  • Numero di elementi ApplicationUpgrades
  • Numero di elementi FailoverUnits
  • Numero di elementi InBuildFailoverUnits
  • Numero di elementi UnhealthyFailoverUnits
  • Numero di elementi Replicas
  • Numero di elementi InBuildReplicas
  • Numero di elementi StandByReplicas
  • Numero di elementi OfflineReplicas
  • CommonQueueLength
  • QueryQueueLength
  • FailoverUnitQueueLength
  • CommitQueueLength
  • Numero di elementi Nodes
  • IsContextComplete: True/False
  • ClusterId: GUID generato casualmente per ogni cluster
  • ServiceFabricVersion
  • Indirizzo IP della macchina virtuale o del computer da cui vengono caricati i dati di telemetria

Per disabilitare la telemetria, aggiungere quanto segue all'elemento properties nel file di configurazione del cluster enableTelemetry: false.

Funzionalità di anteprima incluse in questo pacchetto

Nessuno.

Nota

A partire dalla nuova versione GA del cluster autonomo per Windows Server (versione 5.3.204.x) è possibile aggiornare il cluster per le versioni future, manualmente o automaticamente. Per informazioni dettagliate, vedere Aggiornare il cluster autonomo di Service Fabric in Windows Server.

Passaggi successivi