Azure Service Fabric CLI

Rozhraní příkazového řádku (CLI) Azure Service Fabric je nástroj příkazového řádku pro práci s entitami Service Fabric a jejich správu. Service Fabric CLI lze použít s clustery s Windows nebo Linuxem. Service Fabric CLI funguje na libovolné platformě, kde je podporován Python.

Důležité

Pro práci se Service Fabric se používají dva nástroje rozhraní příkazového řádku. Azure CLI se používá ke správě prostředků Azure, jako je cluster Service Fabric hostovaný v Azure. Rozhraní příkazového řádku Service Fabric slouží k přímému připojení ke clusteru Service Fabric (bez ohledu na to, kde je hostovaný) a ke správě clusteru, aplikací a služeb.

Požadavky

Před instalací se ujistěte, že je ve vašem prostředí nainstalovaný Python a pip. Další informace najdete v úvodní dokumentaci nástroje pip a oficiální dokumentaci k instalaci Pythonu.

Rozhraní příkazového řádku podporuje Python verze 2.7 a 3.6 nebo novější, doporučuje se Python 3.x.

Cílový modul runtime Service Fabric

Smyslem Service Fabric CLI je podpora nejnovější verze modulu runtime sady Service Fabric SDK. Pomocí následující tabulky určete, jakou verzi rozhraní příkazového řádku máte nainstalovat:

Verze rozhraní příkazového řádku Podporovaná verze modulu runtime
Nejnovější (~=10) Nejnovější (~=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

Volitelně můžete zadat cílovou verzi rozhraní příkazového řádku, která se má nainstalovat, přidáním přípony ==<version> k příkazu pip install. Například pro verzi 1.1.0 by syntax byla následující:

pip install -I sfctl==1.1.0

V případě potřeby nahraďte následující příkaz pip install dříve popsaným příkazem.

Další informace o vydaných verzích Service Fabric CLI najdete v dokumentaci na GitHubu.

Instalace nástroje pip, Pythonu a Service Fabric CLI

Na své platformě můžete pip a Python nainstalovat mnoha způsoby. Tady je několik kroků, pomocí kterých můžete rychle nastavit Python 3 a pip na hlavních operačních systémech.

Windows

Ve Windows 10, Windows Server 2016 a Windows Server 2012 R2 použijte standardní oficiální pokyny k instalaci. Instalační program Pythonu ve výchozím nastavení nainstaluje také pip.

  1. Přejděte na oficiální stránku pro stažení Pythonu a stáhněte si nejnovější verzi Pythonu 3.x.

  2. Spusťte instalační program.

  3. V dolní části výzvy vyberte Add Python 3.x to PATH (Přidat Python 3.x do path).

  4. Vyberte Install Now (Nainstalovat) a dokončete instalaci.

Teď můžete otevřít nové příkazové okno a získat verze Pythonu i nástroje pip.

python --version
pip --version

Pak spuštěním následujícího příkazu nainstalujte Azure Service Fabric CLI (sfctl) a zobrazte stránku nápovědy k rozhraní příkazového řádku:

pip install sfctl
sfctl -h

Ubuntu a subsystém Windows pro Linux

Pokud chcete nainstalovat Service Fabric CLI, spusťte následující příkazy:

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

Instalaci pak můžete otestovat pomocí:

sfctl -h

Pokud se zobrazí chyba typu příkaz nenalezen, například:

sfctl: command not found

Ujistěte se, že $PATH má přístup k ~/.local/bin:

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

Pokud instalace na subsystému Windows pro Linux selže kvůli nesprávným oprávněním ke složce, možná bude nutné pokus opakovat se zvýšenými oprávněními:

sudo pip3 install sfctl

Red Hat Enterprise Linux 7.4 (podpora Service Fabric ve verzi Preview)

Pokud chcete nainstalovat Service Fabric CLI na Red Hat, spusťte následující příkazy:

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

Informace o otestování instalace najdete v části Subsystém Ubuntu a Windows pro Linux .

MacOS

V systému MacOS doporučujeme použít správce balíčků HomeBrew. Pokud HomeBrew ještě není nainstalovaný, nainstalujte ho spuštěním následujícího příkazu:

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

Pak z terminálu nainstalujte nejnovější Python 3.x, pip a Service Fabric CLI spuštěním následujících příkazů:

brew install python3
pip3 install sfctl
sfctl -h

Syntaxe rozhraní příkazového řádku

Příkazy mají vždy předponu sfctl. Obecné informace o všech příkazech, které můžete použít, získáte pomocí příkazu sfctl -h. Nápovědu ke konkrétnímu příkazu získáte pomocí příkazu sfctl <command> -h.

Příkazy dodržují opakovatelnou strukturu, kdy cíl příkazu předchází operaci nebo akci.

sfctl <object> <action>

V tomto příkladu je <object> cílem pro <action>.

Výběr clusteru

Před provedením jakékoli operace musíte vybrat cluster, ke kterému se připojíte. Pokud například chcete vybrat cluster testcluster.com a připojit se k němu, spusťte následující příkaz:

Upozornění

Nepoužívejte nezabezpečené clustery Service Fabric v produkčním prostředí.

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

Koncový bod clusteru musí mít předponu http nebo https. Musí zahrnovat port pro bránu HTTP. Tento port a adresa jsou stejné jako adresa URL nástroje Service Fabric Explorer.

Pro clustery, které jsou zabezpečené pomocí certifikátu, můžete určit certifikát kódovaný PEM. Certifikát lze zadat jako jeden soubor nebo jako pár certifikátu a klíče. Pokud je certifikát, který není podepsaný certifikační autoritou, podepsaný svým držitelem, můžete obejít ověření certifikační autority zadáním možnosti --no-verify.

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

Další informace najdete v tématu Připojení k zabezpečenému clusteru Azure Service Fabric.

Základní operace

Informace o připojení ke clusteru se uchovávají napříč více relacemi Service Fabric CLI. Po výběru clusteru Service Fabric na něm můžete spouštět jakékoli příkazy Service Fabric.

Pokud například chcete získat stav clusteru Service Fabric, použijte následující příkaz:

sfctl cluster health

Příkaz vrátí následující výstup:

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

Tipy a řešení potíží

Tady jsou některé návrhy a tipy pro řešení běžných problémů.

Převod certifikátu z formátu PFX na PEM

Service Fabric CLI podporuje certifikáty na straně klienta v podobě souborů PEM (s příponou .pem). Pokud používáte soubory PFX ze systému Windows, musíte tyto certifikáty převést na formát PEM. K převodu souboru PFX na soubor PEM použijte následující příkaz:

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

Podobně k převodu ze souboru PEM do souboru PFX můžete použít následující příkazy (zde bez zadání hesla):

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

Další informace najdete v dokumentace k OpenSSL.

Problémy s připojením

Některé operace můžou generovat následující zprávu:

Failed to establish a new connection

Ověřte, že zadaný koncový bod clusteru je dostupný a naslouchá. Ověřte také, že je na daném hostiteli a portu dostupné uživatelské rozhraní Service Fabric Explorer. Pokud chcete aktualizovat koncový bod, použijte příkaz sfctl cluster select.

Podrobné protokoly

Podrobné protokoly jsou často užitečné při ladění nebo hlášení problému. Příznak --debug zvyšuje úroveň výstupu.

Nápověda k příkazům a jejich syntaxe

Pokud chcete získat nápovědu ke konkrétnímu příkazu nebo skupině příkazů, použijte příznak -h.

sfctl application -h

Tady je další příklad:

sfctl application create -h

Aktualizace rozhraní příkazového řádku Service Fabric

Pokud chcete aktualizovat rozhraní příkazového řádku Service Fabric, spusťte následující příkazy (podle volby provedené během původní instalace nahraďte pip pomocí pip3):

pip uninstall sfctl
pip install sfctl

Další kroky