Gestire un'applicazione di Azure Service Fabric usando l'interfaccia della riga di comando di Azure Service Fabric (sfctl)

Informazioni su come creare ed eliminare applicazioni in esecuzione in un cluster Azure Service Fabric.

Prerequisiti

Panoramica

Per distribuire una nuova applicazione, completare questi passaggi:

  1. Caricare un pacchetto dell'applicazione nell'archivio immagini di Service Fabric.
  2. Eseguire il provisioning di un tipo di applicazione.
  3. Eliminare il contenuto dell'archivio immagini.
  4. Specificare e creare un'applicazione.
  5. Specificare e creare i servizi.

Per rimuovere un'applicazione esistente, completare questi passaggi:

  1. Eliminare l'applicazione.
  2. Annullare il provisioning del tipo di applicazione associato.

Distribuire un'applicazione nuova

Per distribuire una nuova applicazione, completare le attività seguenti:

Caricare un nuovo pacchetto dell'applicazione nell'archivio immagini

Prima di creare un'applicazione, caricare il pacchetto dell'applicazione nell'archivio immagini di Service Fabric.

Ad esempio, se il pacchetto dell'applicazione è nella directory app_package_dir, usare i comandi seguenti per caricare la directory:

sfctl application upload --path ~/app_package_dir

Per i pacchetti di applicazione di grandi dimensioni è possibile specificare l'opzione --show-progress per visualizzare lo stato del caricamento.

Eseguire il provisioning del tipo di applicazione

Al termine del caricamento eseguire il provisioning dell'applicazione. Per eseguire il provisioning dell'applicazione, usare il comando seguente:

sfctl application provision --application-type-build-path app_package_dir

Il valore per application-type-build-path è il nome della directory in cui è stato caricato il pacchetto dell'applicazione.

Eliminare il pacchetto dell'applicazione

Al termine della registrazione dell'applicazione, è consigliabile rimuovere il pacchetto dell'applicazione. L'eliminazione dei pacchetti di applicazioni dall'archivio immagini consente di liberare risorse di sistema. Conservando pacchetti inutilizzati, viene occupato spazio di archiviazione su disco e si verificano problemi di prestazioni delle applicazioni.

Per eliminare il pacchetto dell'applicazione dall'archivio immagini, usare il comando seguente:

sfctl store delete --content-path app_package_dir

content-path deve essere il nome della directory caricata al momento della creazione dell'applicazione.

Creare un'applicazione da un tipo di applicazione

Dopo il provisioning dell'applicazione, usare il comando seguente per assegnare un nome e creare l'applicazione:

sfctl application create --app-name fabric:/TestApp --app-type TestAppType --app-version 1.0

app-name è il nome da usare per l'istanza di applicazione. È possibile ottenere parametri aggiuntivi dal manifesto dell'applicazione di cui è stato eseguito il provisioning.

Il nome dell'applicazione deve iniziare con il prefisso fabric:/.

Creare i servizi per la nuova applicazione

Dopo avere creato un'applicazione, creare i servizi dall'applicazione. Nell'esempio seguente si crea dall'applicazione un nuovo servizio senza stato. I servizi che è possibile creare da un'applicazione sono definiti in un manifesto del servizio all'interno del pacchetto dell'applicazione di cui in precedenza è stato eseguito il provisioning.

sfctl service create --app-id TestApp --name fabric:/TestApp/TestSvc --service-type TestServiceType \
--stateless --instance-count 1 --singleton-scheme

Verificare l'integrità e la distribuzione dell'applicazione

Per verificare l'integrità completa, usare i seguenti comandi di integrità:

sfctl application list
sfctl service list --application-id TestApp

Per verificare l'integrità del servizio, usare comandi simili per recuperare lo stato sia del servizio che dell'applicazione:

sfctl application health --application-id TestApp
sfctl service health --service-id TestApp/TestSvc

I servizi e le applicazioni integri devono avere il valore HealthState impostato su Ok.

Rimuovere un'applicazione esistente

Per rimuovere un'applicazione, completare le attività seguenti:

Eliminare l'applicazione

Per eliminare l'applicazione, usare il comando seguente:

sfctl application delete --application-id TestEdApp

Annullare il provisioning del tipo di applicazione

Dopo aver eliminato l'applicazione, è possibile annullare il provisioning del tipo di applicazione se non è più necessario. Per annullare il provisioning del tipo di applicazione, usare il comando seguente:

sfctl application unprovision --application-type-name TestAppType --application-type-version 1.0

Il nome del tipo e la versione del tipo devono corrispondere al nome e alla versione indicati nel manifesto dell'applicazione di cui in precedenza è stato eseguito il provisioning.

Aggiornare l'applicazione

Dopo avere creato l'applicazione, è possibile ripetere lo stesso set di passaggi per eseguire il provisioning di una seconda versione dell'applicazione. Con un aggiornamento dell'applicazione Service Fabric è possibile passare a eseguire la seconda versione dell'applicazione. Per altre informazioni, vedere la documentazione su Aggiornamento di un'applicazione di Service Fabric.

Per eseguire un aggiornamento, eseguire prima il provisioning della versione successiva dell'applicazione usando gli stessi comandi, come indicato in precedenza:

sfctl application upload --path ~/app_package_dir_2
sfctl application provision --application-type-build-path app_package_dir_2
sfctl store delete --content-path app_package_dir_2

Si consiglia quindi di eseguire un aggiornamento automatico monitorato, avviare l'aggiornamento usando il comando seguente:

sfctl application upgrade --app-id TestApp --app-version 2.0.0 --parameters "{\"test\":\"value\"}" --mode Monitored

Gli aggiornamenti eseguono l'override dei parametri esistenti con il set specificato. I parametri dell'applicazione devono essere passati come argomenti al comando di aggiornamento, se necessario. I parametri dell'applicazione devono essere codificati come oggetto JSON.

Per recuperare tutti i parametri specificati in precedenza, è possibile usare il comando sfctl application info.

Quando un aggiornamento dell'applicazione è in corso, è possibile recuperare lo stato tramite il comando sfctl application upgrade-status.

Infine, se un aggiornamento è in corso e deve essere annullato, è possibile usare sfctl application upgrade-rollback per eseguire il rollback dell'aggiornamento.

Passaggi successivi