Interface de ligne de commande Azure Service Fabric

L’interface de ligne de commande Azure Service Fabric est un utilitaire de ligne de commande pour interagir avec des entités Service Fabric, et les gérer. L’interface de ligne de commande Service Fabric peut être utilisée avec des clusters Windows ou Linux. L’interface de ligne de commande Service Fabric s’exécute sur toute plateforme prenant en charge Python.

Important

Deux utilitaires CLI sont utilisés pour interagir avec Service Fabric. Azure CLI est utilisé pour gérer les ressources Azure, comme un cluster Service Fabric hébergé par Azure. Service Fabric CLI est utilisé pour se connecter directement au cluster Service Fabric (peu importe où il est hébergé) et gérer le cluster, les applications et les services.

Prérequis

Avant l’installation, vérifiez que Python et pip sont installés dans votre environnement. Pour plus d’informations, consultez la documentation de démarrage rapide de pip et la documentation d’installation officielle de Python.

L’interface CLI prend en charge les versions 2.7 et 3.6+ de Python, Python 3.x étant recommandé.

Runtime Service Fabric cible

L’interface CLI Service Fabric a pour objectif de prendre en charge la dernière version du runtime du Kit de développement logiciel (SDK) Service Fabric. Utilisez le tableau suivant pour déterminer la version de CLI que vous devez installer :

Version de la CLI Version du runtime prise en charge
Plus récente (~=10) Plus récente (~=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

Vous pouvez éventuellement spécifier une version cible de l’interface CLI à installer ajoutant à la commande pip install le suffixe ==<version>. Par exemple, pour la version 1.1.0, la syntaxe serait la suivante :

pip install -I sfctl==1.1.0

Remplacez la commande pip install par la commande mentionnée précédemment, si nécessaire.

Pour plus d’informations sur les versions de l’interface de ligne de commande de Service Fabric, consultez la documentation GitHub.

Installer pip, Python et l’interface de ligne de commande Service Fabric

Il existe différentes façons d’installer pip et Python sur votre plateforme. Voici quelques étapes permettant de configurer rapidement les principaux systèmes d’exploitation avec Python 3 et pip.

Windows

Pour Windows 10, Windows Server 2016 et Windows Server 2012 R2, utilisez les instructions d’installation officielles standard. Par défaut, le programme d’installation de Python installe aussi pip.

  1. Accédez à la page officielle des téléchargements de Python pour télécharger la dernière version de Python 3.x.

  2. Démarrez le programme d’installation.

  3. Au bas de l’invite, sélectionnez Ajouter Python 3.x à PATH.

  4. Sélectionnez Installer maintenantet terminez l’installation.

Vous pouvez maintenant ouvrir une nouvelle fenêtre de commande et obtenir la version de Python et celle de pip.

python --version
pip --version

Exécutez ensuite la commande suivante pour installer Azure Service Fabric CLI (sfctl) et afficher la page d’aide CLI :

pip install sfctl
sfctl -h

Sous-systèmes Windows et Ubuntu pour Linux

Exécutez les commandes suivantes pour installer l’interface CLI Service Fabric :

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

Vous pouvez ensuite tester l’installation avec la commande suivante :

sfctl -h

Si vous recevez une erreur de type « command not found » comme suit :

sfctl: command not found

Assurez-vous que le répertoire ~/.local/bin est accessible depuis le chemin d’accès $PATH :

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

Si l’installation sur le sous-système Windows de Linux échoue en signalant que les autorisations du dossier sont incorrectes, vous devrez peut-être réessayer, en utilisant des autorisations élevées :

sudo pip3 install sfctl

Red Hat Enterprise Linux 7.4 (prise en charge de la préversion de Service Fabric)

Exécutez les commandes suivantes pour installer l’interface CLI de Service Fabric sur Red Hat :

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

Pour tester l’installation, vous pouvez utiliser les étapes indiquées dans la section Sous-systèmes Windows et Ubuntu pour Linux.

MacOS

Pour MacOS, nous vous recommandons d’utiliser le Gestionnaire de package HomeBrew. Si HomeBrew n’est pas déjà installé, installez-le en exécutant la commande suivante :

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

Installez ensuite à partir du terminal la dernière version de Python 3.x, pip et l’interface CLI de Service Fabric en exécutant les commandes suivantes :

brew install python3
pip3 install sfctl
sfctl -h

Syntaxe d’Azure CLI

Les commandes portent toujours le préfixe sfctl. Pour obtenir des informations générales sur toutes les commandes dont vous pouvez vous servir, utilisez sfctl -h. Pour obtenir de l’aide avec une seule commande, utilisez sfctl <command> -h.

Les commandes suivent une structure répétable, où la cible de la commande précède le verbe ou l’action.

sfctl <object> <action>

Dans cet exemple, <object> est la cible de <action>.

Sélectionner un cluster

Avant d’effectuer toute opération, vous devez sélectionner un cluster auquel vous connecter. Vous pouvez par exemple exécuter la commande suivante pour sélectionner le cluster nommé testcluster.com et vous y connecter :

Avertissement

N’utilisez pas de clusters Service Fabric non sécurisés dans un environnement de production.

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

Le point de terminaison de cluster doit inclure le préfixe http ou https. Il doit inclure le port pour la passerelle HTTP. Le port et l’adresse sont identiques à l’URL de Service Fabric Explorer.

Pour les clusters sécurisés avec un certificat, vous pouvez spécifier un certificat codé PEM. Le certificat peut être spécifié en tant que fichier unique ou en tant que certificat et paire de clé. S’il s’agit d’un certificat auto-signé qui n’est pas signé par une autorité de certification, vous pouvez passer l’option --no-verify pour ignorer la vérification de l’autorité de certification.

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

Pour plus d’informations, consultez Se connecter à un cluster sécurisé.

Opérations de base

Les informations de connexion du cluster sont conservées dans plusieurs sessions de l’interface de ligne de commande Service Fabric. Une fois qu’un cluster Service Fabric est sélectionné, vous pouvez exécuter n’importe quelle commande Service Fabric sur le cluster.

Par exemple, pour obtenir l’état d’intégrité d’un cluster Service Fabric, utilisez la commande suivante :

sfctl cluster health

La commande débouche sur le résultat suivant :

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

Conseils et résolution des problèmes

Voici quelques suggestions et conseils pour résoudre les problèmes courants.

Convertir un certificat au format PFX en PEM

L’interface de ligne de commande Service Fabric prend en charge les certificats côté client en tant que fichiers PEM (extension .pem). Si vous utilisez des fichiers PFX à partir de Windows, vous devez convertir ces certificats au format PEM. Pour convertir un fichier PFX en fichier PEM, utilisez la commande suivante :

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

De même, pour convertir un fichier PEM en fichier PFX, vous pouvez utiliser la commande suivante (aucun mot de passe n’est fourni ici) :

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

Pour plus d’informations, consultez la documentation OpenSSL.

Problèmes de connexion

Certaines opérations peuvent générer le message suivant :

Failed to establish a new connection

Vérifiez que le point de terminaison du cluster spécifié est disponible et à l’écoute. Vérifiez également que l’interface utilisateur de Service Fabric Explorer est disponible au niveau de cet hôte et de ce port. Utilisez sfctl cluster select pour mettre à jour le point de terminaison.

Journaux d’activité détaillés

Les journaux d’activité détaillés sont souvent utiles lorsque vous déboguez ou signalez un problème. L’indicateur --debug augmente les commentaires de la sortie.

Aide et syntaxe de commande

Pour obtenir de l’aide sur une commande spécifique ou un groupe de commandes, utilisez l’indicateur -h.

sfctl application -h

Voici un autre exemple :

sfctl application create -h

Mettre à jour l’interface de ligne de commande Service Fabric

Pour mettre à jour l’interface de ligne de commande Service Fabric, exécutez les commandes suivantes (remplacez pip par pip3 selon ce que vous avez choisi lors de l’installation initiale) :

pip uninstall sfctl
pip install sfctl

Étapes suivantes