Interfaccia della riga di comando di Azure Service Fabric

L'interfaccia della riga di comando di Azure Service Fabric è un'utilità della riga di comando per l'interazione e la gestione delle identità di Service Fabric. È possibile usare l'interfaccia della riga di comando di Service Fabric con cluster Windows o Linux. L'interfaccia della riga di comando di Service Fabric viene eseguita solo sulle piattaforme che supportano Python.

Importante

Sono disponibili due utilità dell'interfaccia della riga di comando per interagire con Service Fabric. L'interfaccia della riga di comando di Azure viene usata per gestire le risorse di Azure, ad esempio un cluster di Service Fabric ospitato in Azure. L'interfaccia della riga di comando di Service Fabric viene usata per connettersi direttamente al cluster di Service Fabric (indipendentemente dalla posizione in cui è ospitato) e gestire il cluster, le applicazioni e i servizi.

Prerequisiti

Prima dell'installazione, verificare che nell'ambiente siano installati sia Python che pip. Per informazioni, vedere la documentazione rapida di pip e la documentazione sull'installazione di Python ufficiale.

L'interfaccia della riga di comando supporta le versioni di Python 2.7 e 3.6+, con Python 3.x consigliato.

Runtime di destinazione di Service Fabric

L'interfaccia della riga di comando di Service Fabric è progettata per supportare la versione runtime più recente di Service Fabric SDK. Usare la tabella seguente per determinare la versione dell'interfaccia della riga di comando da installare:

Versione dell'interfaccia della riga di comando Versione runtime supportata
Più recente (~=10) Più recente (~=7.1)
9.0.0 7.1
8.0.0 6,5
7.1.0 6.4
6.0.0 6.3
5.0.0 6.2
4.0.0 6.1
3.0.0 6.0
1.1.0 5.6, 5.7

Facoltativamente, è possibile specificare una versione di destinazione dell'interfaccia della riga di comando da installare aggiungendo ==<version> come suffisso al comando pip install. Per la versione 1.1.0, ad esempio, la sintassi sarà la seguente:

pip install -I sfctl==1.1.0

Sostituire il comando pip install seguente con il comando riportato in precedenza quando necessario.

Per altre informazioni sulle versioni dell'interfaccia della riga di comando di Service Fabric, vedere la documentazione di GitHub.

Installare pip, Python e l'interfaccia della riga di comando di Service Fabric

È possibile installare pip e Python nella piattaforma in molti modi. Ecco alcune procedure per configurare rapidamente i sistemi operativi principali con Python 3 e pip.

Windows

Per Windows 10, Windows Server 2016 e Windows Server 2012 R2 usare le istruzioni di installazione standard ufficiali. Il programma di installazione di Python installa anche pip per impostazione predefinita.

  1. Passare alla pagina dei download di Python ufficiale e scaricare la versione più recente di Python 3.x.

  2. Avviare il programma di installazione.

  3. Nella parte inferiore del prompt selezionare Aggiungi Python 3.x a PATH.

  4. Selezionare Install Now (Installa) e completare l'installazione.

È ora possibile aprire una nuova finestra di comando e ottenere la versione di Python e pip.

python --version
pip --version

Eseguire quindi il comando seguente per installare l'interfaccia della riga di comando di Azure Service Fabric (sfctl) e visualizzare la pagina della Guida dell'interfaccia della riga di comando:

pip install sfctl
sfctl -h

Ubuntu e sottosistema Windows per Linux

Per installare l'interfaccia della riga di comando di Service Fabric, eseguire questi comandi:

sudo apt-get install python3
sudo apt-get install python3-pip
pip3 install sfctl

È quindi possibile testare l'installazione con:

sfctl -h

Se viene visualizzato un errore che segnala che il comando non è stato trovato, ad esempio:

sfctl: command not found

Assicurarsi che ~/.local/bin sia accessibile da $PATH:

export PATH=$PATH:~/.local/bin
echo "export PATH=$PATH:~/.local/bin" >> .shellrc

Se l'installazione nel sottosistema Windows per Linux ha esito negativo a causa di autorizzazioni non corrette per la cartella, potrebbe essere necessario riprovare con autorizzazioni elevate:

sudo pip3 install sfctl

Red Hat Enterprise Linux 7.4 (supporto per l'anteprima di Service Fabric)

Per installare l'interfaccia della riga di comando di Service Fabric su Red Hat, eseguire questi comandi:

sudo yum install -y python38
sudo yum install python38-setuptools
sudo easy_install-3.4 pip
sudo pip3 install sfctl

Per testare l'installazione, è possibile fare riferimento alla procedura illustrata nella sezione Ubuntu e sottosistema Windows per Linux

MacOS

Per MacOS è consigliabile usare la gestione pacchetti HomeBrew. Installare HomeBrew, se non è già installato, eseguendo questo comando:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Quindi dal terminale installare l'ultima versione di Python 3.x, pip e l'interfaccia della riga di comando di Service Fabric eseguendo i comandi seguenti:

brew install python3
pip3 install sfctl
sfctl -h

Sintassi dell'interfaccia della riga di comando

I comandi sono sempre preceduti dal prefisso sfctl. Per informazioni generali su tutti i comandi utilizzabili, usare sfctl -h. Per informazioni su un singolo comando, usare sfctl <command> -h.

I comandi seguono una struttura ripetibile, in cui la destinazione del comando precede il verbo o l'azione.

sfctl <object> <action>

In questo esempio <object> è la destinazione per <action>.

Selezionare un cluster

Prima di eseguire qualsiasi operazione, è necessario selezionare un cluster a cui connettersi. Usare, ad esempio, il comando seguente per selezionare e connettersi al cluster con il nome testcluster.com:

Avviso

Non usare cluster di Service Fabric non protetti in un ambiente di produzione.

sfctl cluster select --endpoint http://testcluster.com:19080

L'endpoint del cluster deve essere preceduto da http o https e deve includere la porta per il gateway HTTP. La porta e l'indirizzo sono gli stessi dell'URL di Service Fabric Explorer.

Per i cluster protetti da un certificato, è possibile specificare un certificato con codifica PEM. Il certificato può essere specificato come file singolo o come coppia di certificato e chiave. Se si tratta di un certificato autofirmato non firmato da una CA, è possibile passare l'opzione --no-verify per ignorare la verifica della CA.

sfctl cluster select --endpoint https://testsecurecluster.com:19080 --pem ./client.pem --no-verify

Per altre informazioni, vedere l'articolo su come connettersi a un cluster di Azure Service Fabric sicuro.

Operazioni di base

Le informazioni di connessione al cluster vengono mantenute per più sessioni dell'interfaccia della riga di comando di Service Fabric. Dopo aver selezionato un cluster di Service Fabric, è possibile eseguirvi qualsiasi comando di Service Fabric.

Per ottenere lo stato di integrità di un cluster di Service Fabric, ad esempio, usare il comando seguente:

sfctl cluster health

Il comando restituisce l'output seguente:

{
  "aggregatedHealthState": "Ok",
  "applicationHealthStates": [
    {
      "aggregatedHealthState": "Ok",
      "name": "fabric:/System"
    }
  ],
  "healthEvents": [],
  "nodeHealthStates": [
    {
      "aggregatedHealthState": "Ok",
      "id": {
        "id": "66aa824a642124089ee474b398d06a57"
      },
      "name": "_Test_0"
    }
  ],
  "unhealthyEvaluations": []
}

Suggerimenti e risoluzione dei problemi

Ecco alcuni suggerimenti per risolvere i problemi comuni.

Convertire un certificato dal formato PFX al formato PEM

L'interfaccia della riga di comando di Service Fabric supporta i certificati lato client come file con estensione pem. Se si usano file PFX di Windows, è necessario convertire tali certificati nel formato PEM. Per convertire un file PFX in un file PEM, usare il comando seguente:

openssl pkcs12 -in certificate.pfx -out mycert.pem -nodes

Analogamente, per convertire un file PEM in un file PFX si può usare il comando seguente (non viene fornita alcuna password):

openssl  pkcs12 -export -out Certificates.pfx -inkey Certificates.pem -in Certificates.pem -passout pass:'' 

Per altre informazioni, vedere la documentazione di OpenSSL.

Problemi di connessione

Alcune operazioni potrebbero generare il messaggio seguente:

Failed to establish a new connection

Verificare che l'endpoint del cluster specificato sia disponibile e in ascolto. Verificare anche che l'interfaccia utente di Service Fabric Explorer sia disponibile nell'host e nella porta specificati. Per aggiornare l'endpoint, usare sfctl cluster select.

Log dettagliati

I log dettagliati si rivelano spesso utili per il debug o la segnalazione di un problema. Il flag --debug aumenta il livello di dettaglio dell'output.

Informazioni sui comandi e sintassi

Per informazioni su un comando o un gruppo di comandi specifico, usare il flag -h.

sfctl application -h

Di seguito è riportato un altro esempio:

sfctl application create -h

Aggiornamento dell'interfaccia della riga di comando di Service Fabric

Per aggiornare l'interfaccia della riga di comando di Service Fabric, eseguire i comandi seguenti (sostituire pip con pip3 a seconda della scelta eseguita durante l'installazione originale):

pip uninstall sfctl
pip install sfctl

Passaggi successivi