Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Azure Service Fabric è una piattaforma di sistemi distribuiti per la distribuzione e la gestione di microservizi e contenitori scalabili e affidabili.
Questa guida introduttiva illustra come distribuire contenitori Linux in un cluster di Service Fabric in Azure. Al termine, si dispone di un'applicazione di voto costituita da un front-end Web Python e da un back-end Redis in esecuzione in un cluster di Service Fabric. Si apprenderà anche come eseguire il failover di un'applicazione e come ridimensionare un'applicazione nel cluster.
Prerequisiti
Per completare questa guida introduttiva:
Creare un account Azure gratuito prima di iniziare se non si ha una sottoscrizione.
Installare l'interfaccia della riga di comando di Azure
Installare Service Fabric SDK e l'interfaccia della riga di comando
Installare Git
Ottenere il pacchetto dell'applicazione
Per distribuire contenitori in Service Fabric, è necessario un set di file manifesto (definizione dell'applicazione), che descrivono i singoli contenitori e l'applicazione.
In una console usare git per clonare una copia della definizione di applicazione, quindi passare alla directory Voting nel clone.
git clone https://github.com/Azure-Samples/service-fabric-containers.git
cd service-fabric-containers/Linux/container-tutorial/Voting
Creare un cluster di Service Fabric
Per distribuire l'applicazione in Azure, è necessario un cluster di Service Fabric per eseguire l'applicazione. I comandi seguenti creano un cluster a cinque nodi in Azure. I comandi creano anche un certificato autofirmato, lo aggiungono a un insieme di credenziali delle chiavi e scaricano il certificato in locale. Il nuovo certificato viene usato per proteggere il cluster quando viene distribuito e viene usato per autenticare i client.
Se lo si desidera, è possibile modificare i valori delle variabili in base alle preferenze. Ad esempio, "westus" anziché "eastus" per la posizione.
Annotazioni
I nomi dei Key Vault devono essere universalmente unici, perché sono accessibili come https://{vault-name}.vault.azure.net.
#!/bin/bash
# Variables
ResourceGroupName='containertestcluster'
ClusterName='containertestcluster'
Location='eastus'
Password='q6D7nN%6ck@6'
Subject='containertestcluster.eastus.cloudapp.azure.com'
VaultName='containertestvault'
VmPassword='Mypa$$word!321'
VmUserName='sfadminuser'
# Login to Azure and set the subscription
az login
az account set --subscription <mySubscriptionID>
# Create resource group
az group create --name $ResourceGroupName --location $Location
# Create secure five node Linux cluster. Creates a key vault in a resource group
# and creates a certificate in the key vault. The certificate's subject name must match
# the domain that you use to access the Service Fabric cluster. The certificate is downloaded locally.
az sf cluster create --resource-group $ResourceGroupName --location $Location --certificate-output-folder . --certificate-password $Password --certificate-subject-name $Subject --cluster-name $ClusterName --cluster-size 5 --os UbuntuServer1804 --vault-name $VaultName --vault-resource-group $ResourceGroupName --vm-password $VmPassword --vm-user-name $VmUserName
Annotazioni
Il servizio front-end Web è configurato per l'ascolto del traffico in ingresso sulla porta 80. Per impostazione predefinita, la porta 80 è aperta nelle macchine virtuali del cluster e nel servizio di bilanciamento del carico di Azure.
Configurare l'ambiente
Service Fabric offre diversi strumenti che è possibile usare per gestire un cluster e le relative applicazioni:
- Service Fabric Explorer, uno strumento basato su browser.
- Interfaccia della riga di comando di Service Fabric, che viene eseguita sopra l'interfaccia della riga di comando di Azure.
- Comandi di PowerShell.
In questa guida introduttiva si userà l'interfaccia della riga di comando di Service Fabric e Service Fabric Explorer (uno strumento basato sul Web). Per usare Service Fabric Explorer, è necessario importare il file PFX del certificato nel browser. Per impostazione predefinita, il file PFX non ha password.
Mozilla Firefox è il browser predefinito in Ubuntu 18.04. Per importare il certificato in Firefox, fare clic sul pulsante di menu nell'angolo in alto a destra del browser, quindi fare clic su Opzioni. Nella pagina Preferenze usare la casella di ricerca per cercare "certificati". Fare clic su Visualizza certificati, selezionare la scheda Certificati , fare clic su Importa e seguire le istruzioni per importare il certificato.
Distribuire l'applicazione di Service Fabric
Connettersi al cluster di Service Fabric in Azure usando l'interfaccia della riga di comando. L'endpoint è l'endpoint di gestione per il cluster. Il file PEM è stato creato nella sezione precedente.
sfctl cluster select --endpoint https://containertestcluster.eastus.cloudapp.azure.com:19080 --pem containertestcluster22019013100.pem --no-verifyUsare lo script di installazione per copiare la definizione dell'applicazione Voting nel cluster, registrare il tipo di applicazione e creare un'istanza dell'applicazione. Il file di certificato PEM deve trovarsi nella stessa directory del file install.sh .
./install.shAprire un Web browser e passare all'endpoint di Service Fabric Explorer per il cluster. L'endpoint ha il formato seguente: https://< my-azure-service-fabric-cluster-url>:19080/Explorer,
https://containertestcluster.eastus.cloudapp.azure.com:19080/Explorerad esempio .Espandere il nodo Applicazioni per verificare che sia ora presente una voce per il tipo di applicazione Voting e l'istanza creata.
Per connettersi al contenitore in esecuzione, aprire un Web browser e passare all'URL del cluster; ad esempio .
http://containertestcluster.eastus.cloudapp.azure.com:80Nel browser dovrebbe essere visualizzata l'applicazione Voting.
Annotazioni
È anche possibile distribuire applicazioni di Service Fabric con Docker compose. Ad esempio, il comando seguente può essere usato per distribuire e installare l'applicazione nel cluster usando Docker Compose.
sfctl compose create --deployment-name TestApp --file-path ../docker-compose.yml
Eseguire il failover di un contenitore in un cluster
Service Fabric assicura che le istanze del contenitore vengano spostate automaticamente in altri nodi del cluster in caso di errore. È anche possibile svuotare manualmente un nodo per i contenitori e spostarsi normalmente in altri nodi del cluster. Service Fabric offre diversi modi per ridimensionare i servizi. Nei passaggi seguenti si usa Service Fabric Explorer.
Per eseguire il failover del contenitore front-end, seguire questa procedura:
Apri Service Fabric Explorer nel tuo cluster; ad esempio,
https://containertestcluster.eastus.cloudapp.azure.com:19080/Explorer.Fare clic sul nodo fabric:/Voting/azurevotefront nella visualizzazione albero ed espandere il nodo della partizione (rappresentato da un GUID). Si noti il nome del nodo nella visualizzazione albero, che mostra i nodi in cui è attualmente in esecuzione il contenitore; ad esempio .
_nodetype_1Espandere il nodo Nodi nella visualizzazione albero. Fare clic sui puntini di sospensione (...) accanto al nodo che esegue il contenitore.
Scegliere Riavvia per riavviare il nodo e confermare l'azione di riavvio. Il riavvio causa il failover del contenitore in un altro nodo del cluster.
Ridimensionare applicazioni e servizi in un cluster
I servizi di Service Fabric possono essere facilmente ridimensionati in un cluster per supportare il carico sui servizi. È possibile ridimensionare un servizio modificando il numero di istanze in esecuzione nel cluster.
Per ridimensionare il servizio front-end Web, seguire questa procedura:
Apri Service Fabric Explorer nel tuo cluster; ad esempio
https://containertestcluster.eastus.cloudapp.azure.com:19080.Fare clic sui puntini di sospensione accanto al nodo fabric:/Voting/azurevotefront nella visualizzazione albero e scegliere Scale Service (Ridimensiona servizio).
È ora possibile scegliere di ridimensionare il numero di istanze del servizio front-end Web.
Impostare il numero su 2 e fare clic su Ridimensiona servizio.
Fare clic sul nodo fabric:/Voting/azurevotefront nella visualizzazione albero ed espandere il nodo della partizione (rappresentato da un GUID).
È ora possibile vedere che il servizio ha due istanze. Nella visualizzazione albero è possibile visualizzare i nodi in cui vengono eseguite le istanze.
Con questa semplice attività di gestione sono state raddoppiate le risorse disponibili per il servizio front-end per elaborare il carico utente. È importante comprendere che non sono necessarie più istanze di un servizio per l'esecuzione affidabile. Se un servizio ha esito negativo, Service Fabric assicura che una nuova istanza del servizio venga eseguita nel cluster.
Pulire le risorse
Usare lo script di disinstallazione (uninstall.sh) fornito nel modello per eliminare l'istanza dell'applicazione dal cluster e annullare la registrazione del tipo di applicazione. Questo script richiede del tempo per pulire l'istanza, quindi non è consigliabile eseguire lo script di installazione immediatamente dopo questo script. È possibile usare Service Fabric Explorer per determinare quando l'istanza è stata rimossa e il tipo di applicazione non registrato.
./uninstall.sh
Il modo più semplice per eliminare il cluster e tutte le risorse utilizzate consiste nell'eliminare il gruppo di risorse.
Accedere ad Azure e selezionare l'ID sottoscrizione con cui si vuole rimuovere il cluster. È possibile trovare l'ID sottoscrizione accedendo al portale di Azure. Eliminare il gruppo di risorse e tutte le risorse del cluster usando il comando az group delete.
az login
az account set --subscription <guid>
ResourceGroupName="containertestcluster"
az group delete --name $ResourceGroupName
Se l'uso del cluster è terminato, è possibile rimuovere il certificato dall'archivio certificati. Per esempio:
- Su Windows: utilizzare lo snap-in MMC dei certificati. Assicurarsi di selezionare Account utente personale quando si aggiunge lo snap-in. Passare a
Certificates - Current User\Personal\Certificatese rimuovere il certificato. - In Mac: usare l'app Keychain.
- In Ubuntu: seguire la procedura usata per visualizzare i certificati e rimuovere il certificato.
Passaggi successivi
In questo avvio rapido, hai distribuito un'applicazione contenitore Linux in un cluster di Service Fabric in Azure, hai eseguito il failover sul cluster e hai ridimensionato l'applicazione nel cluster. Per altre informazioni sull'uso di contenitori Linux in Service Fabric, continuare con l'esercitazione sulle applicazioni di contenitore Linux.