Azure Service Fabric CLIAzure Service Fabric CLI

Bei der Azure Service Fabric-Befehlszeilenschnittstelle (CLI) handelt es sich um ein Befehlszeilen-Hilfsprogramm zum Interagieren mit und Verwalten von Service Fabric-Entitäten.The Azure Service Fabric command-line interface (CLI) is a command-line utility for interacting with and managing Service Fabric entities. Für die Service Fabric CLI ist die Verwendung mit Windows- oder mit Linux-Clustern möglich.The Service Fabric CLI can be used with either Windows or Linux clusters. Die Service Fabric CLI wird auf allen Plattformen ausgeführt, die Python unterstützen.The Service Fabric CLI runs on any platform where Python is supported.

Wichtig

Es gibt zwei CLI-Hilfsprogramme, die für die Interaktion mit Service Fabric verwendet werden.There are two CLI utilities used to interact with Service Fabric. Die Azure CLI wird zum Verwalten von Azure-Ressourcen verwendet, z.B. für einen in Azure gehosteten Service Fabric-Cluster.Azure CLI is used to manage Azure resources, such as an Azure-hosted Service Fabric cluster. Die Service Fabric CLI wird verwendet, um eine direkte Verbindung mit dem Service Fabric-Cluster herzustellen (unabhängig vom Host-Ort) und den Cluster, Anwendungen und Dienste zu verwalten.Service Fabric CLI is used to directly connect to the Service Fabric cluster (regardless of where it's hosted) and manage the cluster, applications, and services.

VoraussetzungenPrerequisites

Stellen Sie vor der Installation sicher, dass in Ihrer Umgebung Python und pip installiert sind.Prior to installation, make sure your environment has both Python and pip installed. Weitere Informationen finden Sie in der Schnellstartdokumentation zu pip und der offiziellen Python-Installationsdokumentation.For more information, see the pip quickstart documentation and the official Python installation documentation.

Die CLI unterstützt die Python-Versionen 2.7, 3.5, 3.6 und 3.7.The CLI supports Python versions 2.7, 3.5, 3.6, and 3.7. Die empfohlene Version ist Python 3.x, da für Python 2.7 bald der Support eingestellt wird.Python 3.x is the recommended version, since Python 2.7 will reach end of support soon.

Service Fabric-ZiellaufzeitService Fabric target runtime

Die Service Fabric-Befehlszeilenschnittstelle ist zur Unterstützung der neuesten Laufzeitversion des Service Fabric SDK gedacht.The Service Fabric CLI is meant to support the latest runtime version of the Service Fabric SDK. Die folgende Tabelle gibt Aufschluss darüber, welche Version der Befehlszeilenschnittstelle Sie installieren sollten:Use the following table to determine which version of CLI to install:

CLI-VersionCLI version Unterstützte Laufzeitversionsupported runtime version
Neueste (~= 9)Latest (~=9) Neueste (~= 7)Latest (~=7)
8.0.08.0.0 6,56.5
7.1.07.1.0 6.46.4
6.0.06.0.0 6.36.3
5.0.05.0.0 6.26.2
4.0.04.0.0 6.16.1
3.0.03.0.0 6.06.0
1.1.01.1.0 5.6, 5.75.6, 5.7

Sie können optional eine zu installierende Zielversion der Befehlszeilenschnittstelle angeben, indem Sie den Befehl pip install mit dem Suffix ==<version> versehen.You can optionally specify a target version of the CLI to install by suffixing the pip install command with ==<version>. Die Syntax für Version 1.1.0 lautet beispielsweise wie folgt:For example, for version 1.1.0 the syntax would be:

pip install -I sfctl==1.1.0

Ersetzen Sie den folgenden Befehl vom Typ pip install bei Bedarf durch den zuvor genannten Befehl.Replace the following pip install command with the previously mentioned command when necessary.

Weitere Informationen zu Service Fabric-CLI-Releases finden Sie in der GitHub-Dokumentation.For more information on Service Fabric CLI releases, see the GitHub documentation.

Installieren von pip, Python und der Service Fabric CLIInstall pip, Python, and the Service Fabric CLI

Es gibt viele Möglichkeiten, pip und Python auf Ihrer Plattform zu installieren.There are many ways to install pip and Python on your platform. Im Anschluss sind einige Schritte aufgeführt, mit denen Sie gängige Betriebssysteme schnell mit Python 3 und pip einrichten können.Here are some steps to get major operating systems set up quickly with Python 3 and pip.

WindowsWindows

Verwenden Sie für Windows 10, Windows Server 2016 und Windows Server 2012 R2 die offizielle Standardanleitung für die Installation.For Windows 10, Windows Server 2016, and Windows Server 2012 R2, use the standard official installation instructions. Mit dem Python-Installationsprogramm wird standardmäßig auch pip installiert.The Python installer also installs pip by default.

  1. Navigieren Sie zur offiziellen Python-Downloadseite, und laden Sie die neueste Version von Python 3.7 herunter.Go to the official Python downloads page, and download the latest release of Python 3.7.

  2. Starten Sie das Installationsprogramm.Start the installer.

  3. Wählen Sie unten in der Eingabeaufforderung die Option Add Python 3.7 to PATH (Python 3.7 zu PATH hinzufügen).At the bottom of the prompt, select Add Python 3.7 to PATH.

  4. Wählen Sie Jetzt installieren, und schließen Sie die Installation ab.Select Install Now, and finish the installation.

Sie können nun ein neues Befehlsfenster öffnen und die Version von Python und PIP abrufen.Now you can open a new command window and get the version of both Python and pip.

python --version
pip --version

Führen Sie dann den folgenden Befehl aus, um die Azure Service Fabric-CLI (sfctl) zu installieren und die CLI-Hilfeseite anzuzeigen:Then run the following command to install the Azure Service Fabric CLI (sfctl) and view the CLI help page:

pip install sfctl
sfctl -h

Ubuntu und Windows-Subsystem für LinuxUbuntu and Windows subsystem for Linux

Führen Sie zum Installieren der Service Fabric-Befehlszeilenschnittstelle die folgenden Befehle aus:To install the Service Fabric CLI, run the following commands:

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

Die Installation können Sie anschließend mit Folgendem testen:Then you can test the installation with:

sfctl -h

Es kann vorkommen, dass ein Fehler aufgrund eines nicht gefundenen Befehls auftritt:If you receive a command not found error such as:

sfctl: command not found

Vergewissern Sie sich in diesem Fall, dass über $PATH auf ~/.local/bin zugegriffen werden kann:Be sure that ~/.local/bin is accessible from the $PATH:

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

Sollte die Installation im Windows-Subsystem für Linux aufgrund falscher Ordnerberechtigungen nicht erfolgreich sein, muss der Vorgang unter Umständen mit erhöhten Berechtigungen wiederholt werden:If the installation on Windows subsystem for Linux fails with incorrect folder permissions, it may be necessary to try again with elevated permissions:

sudo pip3 install sfctl

Red Hat Enterprise Linux 7.4 (Unterstützung der Service Fabric-Vorschauversion)Red Hat Enterprise Linux 7.4 (Service Fabric preview support)

Führen Sie zum Installieren der Service Fabric-Befehlszeilenschnittstelle unter Red Hat die folgenden Befehle aus:To install Service Fabric CLI on Red Hat, run the following commands:

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

Sie können die Schritte im Abschnitt Ubuntu und Windows-Subsystem für Linux durchführen, um die Installation zu testen.For testing the installation, you can refer to the steps mentioned in Ubuntu and Windows subsystem for Linux section

MacOSMacOS

Für MacOS empfehlen wir Ihnen die Nutzung des HomeBrew-Paket-Managers.For MacOS, we recommend that you use the HomeBrew package manager. Wenn HomeBrew nicht bereits installiert ist, können Sie die Installation mit dem folgenden Befehl durchführen:If HomeBrew is not already installed, install it by running the following command:

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

Installieren Sie dann über das Terminal Python 3.7, pip und die Service Fabric CLI, indem Sie die folgenden Befehle ausführen:Then from the terminal, install Python 3.7, pip, and the Service Fabric CLI by running the following commands:

brew install python3
pip3 install sfctl
sfctl -h

CLI-SyntaxCLI syntax

Die Befehle verfügen immer über das Präfix sfctl.Commands are always prefixed with sfctl. Allgemeine Informationen zu allen Befehlen, die Sie nutzen können, erhalten Sie mit sfctl -h.For general information about all the commands you can use, use sfctl -h. Hilfe zu einem einzelnen Befehl erhalten Sie mit sfctl <command> -h.For help with a single command, use sfctl <command> -h.

Befehle folgen einer wiederholbaren Struktur. Dabei steht das Ziel des Befehls vor dem Verb oder der Aktion.Commands follow a repeatable structure, with the target of the command preceding the verb or the action.

sfctl <object> <action>

In diesem Beispiel ist <object> das Ziel für <action>.In this example, <object> is the target for <action>.

Auswählen eines ClustersSelect a cluster

Bevor Sie Vorgänge durchführen, müssen Sie einen Cluster auswählen, mit dem die Verbindung hergestellt wird.Before you perform any operations, you must select a cluster to connect to. Führen Sie beispielsweise den folgenden Befehl aus, um den Cluster testcluster.com auszuwählen und eine Verbindung damit herzustellen:For example, to select and connect to the cluster with the name testcluster.com, run the following command:

Warnung

Vermeiden Sie die Verwendung von ungeschützten Service Fabric-Clustern in einer Produktionsumgebung.Do not use unsecured Service Fabric clusters in a production environment.

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

Der Clusterendpunkt muss das Präfix http oder https aufweisen.The cluster endpoint must be prefixed by http or https. Er muss den Port für das HTTP-Gateway enthalten.It must include the port for the HTTP gateway. Der Port und die Adresse entsprechen der Service Fabric Explorer-URL.The port and address are the same as the Service Fabric Explorer URL.

Für Cluster, die mit einem Zertifikat gesichert sind, können Sie ein PEM-codiertes Zertifikat angeben.For clusters that are secured with a certificate, you can specify a PEM-encoded certificate. Das Zertifikat kann als eine einzelne Datei oder als Zertifikat und Schlüsselpaar angegeben werden.The certificate can be specified as a single file or as a cert and a key pair. Handelt es sich um ein selbstsigniertes Zertifikat, das nicht von einer Zertifizierungsstelle signiert wurde, können Sie die Option --no-verify übergeben, um die Überprüfung der Zertifizierungsstelle zu umgehen.If it is a self-signed certificate that is not CA signed, you can pass the --no-verify option to bypass CA verification.

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

Weitere Informationen finden Sie unter Herstellen einer Verbindung mit einem sicheren Cluster.For more information, see Connect to a secure Azure Service Fabric cluster.

Einfache VorgängeBasic operations

Informationen zur Clusterverbindung werden über mehrere Service Fabric CLI-Sitzungen hinweg beibehalten.Cluster connection information persists across multiple Service Fabric CLI sessions. Nach dem Auswählen eines Service Fabric-Clusters können Sie im Cluster einen beliebigen Service Fabric-Befehl ausführen.After you select a Service Fabric cluster, you can run any Service Fabric command on the cluster.

Verwenden Sie beispielsweise den folgenden Befehl, um den Integritätsstatus des Service Fabric-Clusters abzurufen:For example, to get the Service Fabric cluster health state, use the following command:

sfctl cluster health

Mit diesem Befehl wird die folgende Ausgabe zurückgegeben:The command results in the following output:

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

Tipps und ProblembehandlungTips and troubleshooting

Hier sind einige Vorschläge und Tipps zum Beheben von allgemeinen Problemen angegeben.Here are some suggestions and tips for solving common problems.

Konvertieren eines Zertifikats aus dem PFX- in das PEM-FormatConvert a certificate from PFX to PEM format

Die Service Fabric-Befehlszeilenschnittstelle unterstützt clientseitige Zertifikate als PEM-Dateien (Erweiterung „.pem“).The Service Fabric CLI supports client-side certificates as PEM (.pem extension) files. Bei Verwendung von PFX-Dateien in Windows müssen Sie diese Zertifikate in das PEM-Format konvertieren.If you use PFX files from Windows, you must convert those certificates to PEM format. Mit dem folgenden Befehl konvertieren Sie eine PFX-Datei in eine PEM-Datei:To convert a PFX file to a PEM file, use the following command:

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

Wenn Sie eine PFX-Datei in eine PEM-Datei konvertieren möchten, können Sie den folgenden Befehl verwenden. (Hier wird kein Kennwort angegeben.)Similarly, to convert from a PEM file to a PFX file, you can use the following command (no password is being provided here):

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

Weitere Informationen finden Sie in der OpenSSL-Dokumentation.For more information, see the OpenSSL documentation.

VerbindungsproblemeConnection problems

Für einige Vorgänge wird unter Umständen die folgende Meldung generiert:Some operations might generate the following message:

Failed to establish a new connection

Stellen Sie sicher, dass der angegebene Clusterendpunkt verfügbar ist und lauscht.Verify that the specified cluster endpoint is available and listening. Überprüfen Sie auch, ob die Service Fabric Explorer-Benutzeroberfläche unter diesem Host und Port verfügbar ist.Also, verify that the Service Fabric Explorer UI is available at that host and port. Verwenden Sie sfctl cluster select, um den Endpunkt zu aktualisieren.To update the endpoint, use sfctl cluster select.

Detaillierte ProtokolleDetailed logs

Detaillierte Protokolle sind häufig hilfreich, wenn Sie das Debuggen durchführen oder ein Problem melden.Detailed logs often are helpful when you debug or report a problem. Mit dem --debug-Flag wird die Ausführlichkeit der Ausgabe erhöht.The --debug flag increases the verbosity of the output.

Befehle – Hilfe und SyntaxCommand help and syntax

Verwenden Sie das -h-Flag, um Hilfe zu einem bestimmten Befehl oder einer Gruppe von Befehlen zu erhalten.For help with a specific command or a group of commands, use the -h flag.

sfctl application -h

Hier ist ein weiteres Beispiel angegeben:Here is another example:

sfctl application create -h

Aktualisieren der Service Fabric-BefehlszeilenschnittstelleUpdating the Service Fabric CLI

Führen Sie zum Aktualisieren der Service Fabric-Befehlszeilenschnittstelle die folgenden Befehle aus, und ersetzen Sie dabei pip durch pip3 (abhängig von der getroffenen Auswahl bei der ursprünglichen Installation):To update the Service Fabric CLI, run the following commands (replace pip with pip3 depending on what you chose during your original install):

pip uninstall sfctl
pip install sfctl

Nächste SchritteNext steps