Azure Service Fabric-CLI
De opdrachtregelinterface (CLI) van Azure Service Fabric is een opdrachtregelprogramma voor interactie met en het beheren van Service Fabric-entiteiten. De Service Fabric-CLI kan worden gebruikt met Windows- of Linux-clusters. De Service Fabric-CLI kan worden uitgevoerd op elk platform dat ondersteuning biedt voor Python.
Belangrijk
Er worden twee CLI-hulpprogramma's gebruikt om te communiceren met Service Fabric. Azure CLI wordt gebruikt om Azure-resources te beheren, zoals een Service Fabric-cluster dat wordt gehost op Azure. Service Fabric CLI wordt gebruikt om rechtstreeks verbinding te maken met het Service Fabric-cluster (ongeacht waar dit wordt gehost) en om het cluster, de toepassingen en de services te beheren.
Vereisten
Voorafgaand aan de installatie controleert u of zowel Python als pip is geïnstalleerd in uw omgeving. Zie de Quick Start-documentatie voor pip en de officiële installatiedocumentatie voor python voor meer informatie.
De CLI ondersteunt Python-versies 2.7 en 3.6+, met Python 3.x aanbevolen.
Service Fabric-doelruntime
De Service Fabric-CLI is bedoeld ter ondersteuning van de nieuwste runtimeversie van de Service Fabric-SDK. Gebruik de volgende tabel om te bepalen welke CLI-versie u moet installeren:
CLI-versie | ondersteunde runtimeversie |
---|---|
Laatste (~=10) | Laatste (~=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 |
U kunt optioneel een doelversie van de CLI opgeven om te installeren, door het achtervoegsel ==<version>
achter de opdracht pip install
te plaatsen. Bijvoorbeeld, voor versie 1.1.0 is de syntaxis:
pip install -I sfctl==1.1.0
Vervang de volgende pip install
-opdracht indien nodig door de eerder genoemde opdracht.
Zie de GitHub-documentatie voor meer informatie over Service Fabric CLI-versies.
pip, Python en de Service Fabric-CLI installeren
Er zijn diverse manieren waarop u pip en Python op uw platform kunt installeren. Hier volgen enkele stappen waarmee u Python 3 en pip snel op de bekendste besturingssystemen kunt installeren.
Windows
Voor Windows 10, Windows Server 2016 en Windows Server 2012 R2 gebruikt u de officiële standaardinstallatie-instructies. Tijdens de installatie van python wordt pip ook standaard geïnstalleerd.
Ga naar de officiële Python-downloadpagina en download de nieuwste versie van Python 3.x.
Start het installatieprogramma.
Selecteer Aan de onderkant van de prompt Python 3.x toevoegen aan PATH.
Selecteer Install Now en voltooi de installatie.
U kunt nu een nieuw opdrachtvenster openen en de versie van Python en pip opvragen.
python --version
pip --version
Voer vervolgens de volgende opdracht uit om de Azure Service Fabric CLI (sfctl) te installeren en de CLI-helppagina weer te geven:
pip install sfctl
sfctl -h
Ubuntu en Windows-subsysteem voor Linux
Voer de volgende opdrachten uit om de Service Fabric-CLI te installeren:
sudo apt-get install python3
sudo apt-get install python3-pip
pip3 install sfctl
Daarna kunt u de installatie testen met:
sfctl -h
Als u de fout Opdracht niet gevonden krijgt, zoals:
sfctl: command not found
Controleer dan of ~/.local/bin
toegankelijk is vanuit het $PATH
:
export PATH=$PATH:~/.local/bin
echo "export PATH=$PATH:~/.local/bin" >> .shellrc
Als de installatie op Windows-subsysteem voor Linux mislukt vanwege onjuiste mapmachtigingen, kunt u het opnieuw proberen met verhoogde machtigingen:
sudo pip3 install sfctl
Red Hat Enterprise Linux 7.4 (ondersteuning voor Service Fabric-preview)
Voer de volgende opdrachten uit om Service Fabric CLI op Red Hat te installeren:
sudo yum install -y python38
sudo yum install python38-setuptools
sudo easy_install-3.4 pip
sudo pip3 install sfctl
Voor het testen van de installatie kunt u verwijzen naar de stappen die worden vermeld in het ubuntu- en Windows-subsysteem voor Linux
macOS
Voor Mac OS is het raadzaam om het pakketbeheerprogramma HomeBrew te gebruiken. Installeer HomeBrew als dat nog niet is gebeurd door de volgende opdracht uit te voeren:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Installeer vervolgens vanuit de terminal de nieuwste Python 3.x, pip en de Service Fabric CLI door de volgende opdrachten uit te voeren:
brew install python3
pip3 install sfctl
sfctl -h
De syntaxis van de CLI
Opdrachten worden altijd voorafgegaan door sfctl
. Voor algemene informatie over alle opdrachten die u kunt gebruiken, gebruikt u sfctl -h
. Gebruik sfctl <command> -h
voor hulp bij één opdracht.
Opdrachten volgen een herhaalbare structuur, met het doel van de opdracht vóór de bewerking of actie.
sfctl <object> <action>
In dit voorbeeld is <object>
het doel voor <action>
.
Een cluster selecteren
U kunt pas bewerkingen uitvoeren nadat u een cluster hebt geselecteerd waarmee u verbinding wilt maken. Als u bijvoorbeeld het cluster met de naam testcluster.com
wilt selecteren en er verbinding mee wilt maken, voert u de volgende opdracht uit:
Waarschuwing
Gebruik geen niet-beveiligde Service Fabric-clusters in een productieomgeving.
sfctl cluster select --endpoint http://testcluster.com:19080
Het clustereindpunt moet worden voorafgegaan door http
of https
. Het moet de poort voor de HTTP-gateway bevatten. De poort en het adres komen overeen met de Service Fabric Explorer-URL.
Voor clusters die zijn beveiligd met een certificaat, kunt u een met PEM gecodeerd certificaat opgeven. Het certificaat kan worden opgegeven als een enkel bestand of als een certificaat-sleutelpaar. Als het een zelfondertekend certificaat is dat niet is ondertekend door een CA, kunt u de optie --no-verify
kiezen om CA-verificatie over te slaan.
sfctl cluster select --endpoint https://testsecurecluster.com:19080 --pem ./client.pem --no-verify
Zie Verbinding maken met een beveiligd Azure Service Fabric-cluster voor meer informatie.
Basisbewerkingen
De gegevens van een clusterverbinding blijven behouden tussen meerdere Service Fabric-CLI-sessies. Nadat u een Service Fabric-cluster hebt geselecteerd, kunt u elke Service Fabric-opdracht in het cluster uitvoeren.
Als u bijvoorbeeld de status van het Service Fabric-cluster wilt weten, voert u de volgende opdracht uit:
sfctl cluster health
De opdracht resulteert in de volgende uitvoer:
{
"aggregatedHealthState": "Ok",
"applicationHealthStates": [
{
"aggregatedHealthState": "Ok",
"name": "fabric:/System"
}
],
"healthEvents": [],
"nodeHealthStates": [
{
"aggregatedHealthState": "Ok",
"id": {
"id": "66aa824a642124089ee474b398d06a57"
},
"name": "_Test_0"
}
],
"unhealthyEvaluations": []
}
Tips en probleemoplossing
Hier volgen enkele suggesties en tips voor het oplossen van veelvoorkomende problemen.
Een certificaat converteren van PFX- naar PEM-indeling
De CLI van Service Fabric ondersteunt clientcertificaten als PEM-bestanden (extensie .pem). Als u PFX-bestanden van Windows gebruikt, moet u deze certificaten converteren naar PEM-indeling. Gebruik de volgende opdracht om een PFX-bestand te converteren naar een PEM-bestand:
openssl pkcs12 -in certificate.pfx -out mycert.pem -nodes
Op een vergelijkbare manier kunt u de volgende opdracht gebruiken (hier wordt geen wachtwoord verstrekt) om een PEM-bestand te converteren naar een PFX-bestand:
openssl pkcs12 -export -out Certificates.pfx -inkey Certificates.pem -in Certificates.pem -passout pass:''
Voor meer informatie raadpleegt u de OpenSSL-documentatie.
Verbindingsproblemen
Bepaalde bewerkingen genereren mogelijk het volgende bericht:
Failed to establish a new connection
Controleer of het opgegeven clustereindpunt beschikbaar is en luistert. Controleer ook of de gebruikersinterface van Service Fabric Explorer beschikbaar is op die host en poort. Gebruik sfctl cluster select
om het eindpunt bij te werken.
Gedetailleerde logboeken
Gedetailleerde logboeken zijn vaak nuttig zijn wanneer u fouten opspoort of een probleem meldt. De --debug
vlag verhoogt de uitgebreidheid van de uitvoer.
Syntaxis van Help-opdracht
Als u hulp nodig hebt met een specifieke opdracht of een groep opdrachten, gebruikt u de -h
-vlag.
sfctl application -h
Hier volgt nog een voorbeeld:
sfctl application create -h
De Service Fabric-CLI bijwerken
Voer de volgende opdrachten uit om de Service Fabric-CLI bij te werken (vervang pip
door pip3
, afhankelijk van wat u tijdens de oorspronkelijke installatie hebt gekozen):
pip uninstall sfctl
pip install sfctl