Esercitazione: Distribuire un'applicazione Service Fabric in un cluster in Azure
Questa esercitazione è la seconda parte di una serie. Informazioni su come distribuire un'applicazione di Azure Service Fabric in un nuovo cluster in Azure.
In questa esercitazione apprenderai a:
- Creare un cluster
- Distribuire un'applicazione in un cluster remoto usando Visual Studio
La serie di esercitazioni mostra come:
- Creare un'applicazione di Service Fabric .NET
- Distribuire l'applicazione in un cluster remoto (questa esercitazione)
- Aggiungere un endpoint HTTPS a un servizio front-end ASP.NET Core
- Configurare l'integrazione continua e il recapito continuo con Azure Pipelines
- Configurare il monitoraggio e la diagnostica per l'applicazione
Prerequisiti
Prima di iniziare questa esercitazione:
- Se non hai una sottoscrizione di Azure, crea un account gratuito.
- Installare Visual Studio 2019, inclusi il carico di lavoro di Sviluppo di Azure e il carico di lavoro di sviluppo ASP.NET e Web.
- Installare Service Fabric SDK.
Nota
Un account gratuito potrebbe non soddisfare i requisiti per creare una macchina virtuale. Per completare l'esercitazione, è necessario creare una macchina virtuale. Inoltre, un account che non è un account aziendale o dell'istituto di istruzione potrebbe riscontrare problemi di autorizzazioni quando si crea il certificato nell'insieme di credenziali delle chiavi associato al cluster. Se si verifica un errore durante la creazione del certificato, usare il portale di Azure per creare il cluster.
Scaricare l'applicazione di voto di esempio
Se non si è creata l'applicazione di voto di esempio nella prima parte di questa serie di esercitazioni, è possibile scaricarla. In una finestra di comando eseguire il codice seguente per clonare il repository dell'applicazione di esempio nel computer locale:
git clone https://github.com/Azure-Samples/service-fabric-dotnet-quickstart
Aprire Visual Studio usando l'opzione Esegui come amministratore . Aprire l'applicazione e quindi compilare l'applicazione.
Creare un cluster
Ora che l'applicazione è pronta, creare un cluster di Service Fabric e quindi distribuire l'applicazione nel cluster. Un cluster di Service Fabric è un set connesso alla rete di macchine virtuali o computer fisici in cui si distribuiscono i microservizi e li si gestisce.
In questa esercitazione viene creato un nuovo cluster di test a tre nodi nell'ambiente di sviluppo integrato (IDE) di Visual Studio e quindi si pubblica l'applicazione in tale cluster. Per informazioni sulla creazione di un cluster di produzione, vedere Creare e gestire un cluster. È anche possibile distribuire l'applicazione in un cluster esistente creato in precedenza usando il portale di Azure, Azure PowerShell, gli script dell'interfaccia della riga di comando di Azure o un modello di Azure Resource Manager.
Nota
L'applicazione Voting, come molte altre applicazioni, usa il proxy inverso di Service Fabric per comunicare tra i servizi. Per impostazione predefinita, i cluster creati tramite Visual Studio hanno il proxy inverso abilitato per impostazione predefinita. Se si distribuisce in un cluster esistente, per il corretto funzionamento dell'applicazione di voto è necessario abilitare il proxy inverso nel cluster.
Trovare l'endpoint del servizio VotingWeb
Il servizio Web front-end dell'applicazione Voting è in ascolto su una porta specifica (porta 8080 se sono stati seguiti i passaggi nella prima parte di questa serie di esercitazioni). Quando l'applicazione viene distribuita in un cluster in Azure, sia il cluster che l'applicazione vengono eseguiti dietro un servizio di bilanciamento del carico di Azure. Per aprire la porta dell'applicazione è necessaria una regola del servizio di bilanciamento del carico di Azure. La regola invia il traffico in ingresso al servizio Web attraverso il bilanciamento del carico. La porta viene impostata nel file VotingWeb/PackageRoot/ServiceManifest.xml , nell'elemento Endpoint
.
<Endpoint Protocol="http" Name="ServiceEndpoint" Type="Input" Port="8080" />
Si noti l'endpoint del servizio, che verrà usato in un passaggio successivo. Se si esegue la distribuzione in un cluster esistente, aprire questa porta creando una regola di bilanciamento del carico e un probe nel servizio di bilanciamento del carico di Azure tramite uno script di Azure PowerShell o tramite il servizio di bilanciamento del carico per questo cluster nel portale di Azure.
Creare un cluster di test in Azure
In Esplora soluzioni fare clic con il pulsante destro del mouse su Voto e scegliere Pubblica.
In Endpoint connessione selezionare Crea un nuovo cluster. Se si esegue la distribuzione in un cluster esistente, selezionare l'endpoint del cluster nell'elenco. Viene visualizzata la finestra di dialogo Crea cluster Service Fabric.
Nella scheda Cluster (Cluster) immettere il nome del cluster (ad esempio mytestcluster), selezionare la sottoscrizione, selezionare un'area per il cluster (ad esempio Stati Uniti centro-meridionali), immettere il numero di nodi del cluster (si consigliano tre nodi per un cluster di test) e immettere un gruppo di risorse (ad esempio mytestclustergroup
). Selezionare Avanti.
Nella scheda Certificato immettere la password e il percorso di output per il certificato del cluster. Un certificato autofirmato viene creato come file PFX (Personal Information Exchange) e salvato nel percorso di output specificato. Il certificato viene usato per la sicurezza da nodo a nodo e da client a nodo. Non usare un certificato autofirmato per i cluster di produzione. Visual Studio usa questo certificato per l'autenticazione con il cluster e per distribuire le applicazioni.
Selezionare la casella di controllo Importa certificato per installare il file PFX nell'archivio certificati CurrentUser\My del computer. Quindi seleziona Avanti.
Nella scheda Dettagli macchina virtuale immettere il nome utente e la password per l'account amministratore del cluster. Selezionare il valore per Immagine macchina virtuale per i nodi del cluster e il valore per Dimensioni macchina virtuale per ogni nodo del cluster.
Selezionare la scheda Avanzate . Per Porte immettere l'endpoint del servizio VotingWeb del passaggio precedente, ad esempio 8080. Alla creazione del cluster, queste porte applicazione vengono aperte nel servizio di bilanciamento del carico di Azure per inoltrare il traffico al cluster.
Selezionare Crea per creare il cluster. Il processo richiede alcuni minuti.
Pubblicare l'applicazione nel cluster
Quando il nuovo cluster è pronto, è possibile distribuire l'applicazione Voting direttamente in Visual Studio.
In Esplora soluzioni fare clic con il pulsante destro del mouse su Voto e scegliere Pubblica. Verrà visualizzata la finestra di dialogo Pubblica .
Per Endpoint di connessione selezionare l'endpoint per il cluster creato nel passaggio precedente. Ad esempio: mytestcluster.southcentralus.cloudapp.azure.com:19000
. Se si seleziona Parametri di connessione avanzati, le informazioni sul certificato vengono compilate automaticamente.
Seleziona Pubblica.
Dopo aver distribuito l'applicazione, aprire un browser e immettere l'indirizzo del cluster seguito da :8080
. In alternativa, è possibile immettere un'altra porta se ne è configurata una. Un esempio è http://mytestcluster.southcentralus.cloudapp.azure.com:8080
. L'applicazione è in esecuzione nel cluster in Azure. Nella pagina Web di voto provare ad aggiungere ed eliminare le opzioni di voto.
Passaggio successivo
Passare all'esercitazione successiva: