CLI do Azure Service FabricAzure Service Fabric CLI

A interface de linha de comandos (CLI) do Azure Service Fabric é um utilitário de linha de comandos para interagir e gerir entidades do Service Fabric.The Azure Service Fabric command-line interface (CLI) is a command-line utility for interacting with and managing Service Fabric entities. A CLI do Service Fabric pode ser utilizada com clusters do Windows ou do Linux.The Service Fabric CLI can be used with either Windows or Linux clusters. A CLI do Service Fabric é executada em qualquer plataforma onde o Python seja suportado.The Service Fabric CLI runs on any platform where Python is supported.

Importante

Existem dois utilitários CLI utilizados para interagir com o Service Fabric.There are two CLI utilities used to interact with Service Fabric. A CLI do Azure serve para gerir os recursos do Azure, tal como um cluster do Service Fabric alojado no Azure.Azure CLI is used to manage Azure resources, such as an Azure-hosted Service Fabric cluster. A CLI do Service Fabric serve para ligar diretamente ao cluster do Service Fabric (independentemente do local onde está alojado) e gerir o cluster, as aplicações e os serviços.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.

Pré-requisitosPrerequisites

Antes da instalação, certifique-se de que o seu ambiente tem o Python e o pip instalados.Prior to installation, make sure your environment has both Python and pip installed. Para obter mais informações, veja a documentação de início rápido do pipe a documentação de instalação do Python oficial.For more information, see the pip quickstart documentation and the official Python installation documentation.

A CLI dá suporte às versões 2,7, 3,5, 3,6 e 3,7 do Python.The CLI supports Python versions 2.7, 3.5, 3.6, and 3.7. O Python 3. x é a versão recomendada, pois o Python 2,7 atingirá o fim do suporte em breve.Python 3.x is the recommended version, since Python 2.7 will reach end of support soon.

Runtime de destino do Service FabricService Fabric target runtime

A CLI do Service Fabric destina-se a suportar a versão de runtime mais recente do Service Fabric SDK.The Service Fabric CLI is meant to support the latest runtime version of the Service Fabric SDK. Utilize a tabela seguinte para determinar qual a versão da CLI a instalar:Use the following table to determine which version of CLI to install:

Versão da CLICLI version Versão de runtime suportadasupported runtime version
Mais recente (~ = 8)Latest (~=8) Mais recente (~ = 6,5)Latest (~=6.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

Opcionalmente, pode especificar uma versão de destino da CLI a instalar ao colocar no comando pip install o sufixo ==<version>.You can optionally specify a target version of the CLI to install by suffixing the pip install command with ==<version>. Por exemplo, para a versão 1.1.0, a sintaxe seria:For example, for version 1.1.0 the syntax would be:

pip install -I sfctl==1.1.0

Substitua o comando pip install seguinte pelo comando mencionado anteriormente, quando necessário.Replace the following pip install command with the previously mentioned command when necessary.

Para obter mais informações sobre versões da CLI do Service Fabric, veja a Documentação do GitHub.For more information on Service Fabric CLI releases, see the GitHub documentation.

Instalar o pip, o Python e a CLI do Service FabricInstall pip, Python, and the Service Fabric CLI

Existem muitas formas de instalar o pip e o Python na sua plataforma.There are many ways to install pip and Python on your platform. Seguem-se alguns passos para configurar rapidamente os principais sistemas operativos com o Python 3 e o pip.Here are some steps to get major operating systems set up quickly with Python 3 and pip.

WindowsWindows

Para Windows 10, Windows Server 2016 e Windows Server 2012 R2, utilize as instruções de instalação oficiais padrão.For Windows 10, Windows Server 2016, and Windows Server 2012 R2, use the standard official installation instructions. O instalador do Python também instala o pip por predefinição.The Python installer also installs pip by default.

  1. Acesse a página de downloadsoficial do Python e baixe a versão mais recente do Python 3,7.Go to the official Python downloads page, and download the latest release of Python 3.7.

  2. Inicie o instalador.Start the installer.

  3. Na parte inferior do prompt, selecione Adicionar Python 3,7 ao caminho.At the bottom of the prompt, select Add Python 3.7 to PATH.

  4. Selecione Instalar Agora e conclua a instalação.Select Install Now, and finish the installation.

Agora, pode abrir uma janela de comandos nova e obter a versão, quer do Python, quer do pip.Now you can open a new command window and get the version of both Python and pip.

python --version
pip --version

Em seguida, execute o seguinte comando para instalar a CLI do Service Fabric do Azure (sfctl) e exibir a página de ajuda da CLI: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 e subsistema Windows para LinuxUbuntu and Windows subsystem for Linux

Para instalar a CLI do Service Fabric, execute os seguintes comandos:To install the Service Fabric CLI, run the following commands:

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

Em seguida, pode testar a instalação com:Then you can test the installation with:

sfctl -h

Se receber um erro de comando não encontrado, como:If you receive a command not found error such as:

sfctl: command not found

Certifique-se de que ~/.local/bin está acessível a partir de $PATH:Be sure that ~/.local/bin is accessible from the $PATH:

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

Se a instalação no subsistema Windows para Linux falhar com permissões de pasta incorretas, pode ser necessário tentar novamente com permissões elevadas: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 (suporte de pré-visualização do Service Fabric)Red Hat Enterprise Linux 7.4 (Service Fabric preview support)

Para instalar Service Fabric CLI no Red Hat, execute os seguintes comandos: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

Para testar a instalação, você pode consultar as etapas mencionadas na seção Ubuntu e subsistema do Windows para LinuxFor testing the installation, you can refer to the steps mentioned in Ubuntu and Windows subsystem for Linux section

MacOSMacOS

Para MacOS, recomendamos utilizar o Gestor de pacotes HomeBrew.For MacOS, we recommend that you use the HomeBrew package manager. Se o HomeBrew ainda não estiver instalado, execute o comando seguinte para o instalar: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)"

Em seguida, no terminal, instale o Python 3,7, Pip e a CLI Service Fabric executando os seguintes comandos: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

Sintaxe da CLICLI syntax

Aos comandos é sempre adicionado o prefixo sfctl.Commands are always prefixed with sfctl. Para obter informações gerais sobre todos os comandos que pode utilizar, utilize sfctl -h.For general information about all the commands you can use, use sfctl -h. Para obter ajuda com comandos individuais, utilize sfctl <command> -h.For help with a single command, use sfctl <command> -h.

Os comandos seguem uma estrutura repetível, com o destino do comando antes do verbo ou da ação.Commands follow a repeatable structure, with the target of the command preceding the verb or the action.

sfctl <object> <action>

Neste exemplo, <object> é o destino de <action>.In this example, <object> is the target for <action>.

Selecionar um clusterSelect a cluster

Antes de executar qualquer operação, tem de selecionar um cluster ao qual se deve ligar.Before you perform any operations, you must select a cluster to connect to. Por exemplo, para selecionar e ligar ao cluster com o nome testcluster.com, execute o comando seguinte:For example, to select and connect to the cluster with the name testcluster.com, run the following command:

Aviso

Não utilize clusters do Service Fabric não seguros em ambientes de produção.Do not use unsecured Service Fabric clusters in a production environment.

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

O ponto final do cluster tem de ter o prefixo http ou https.The cluster endpoint must be prefixed by http or https. Tem de incluir a porta para o gateway HTTP.It must include the port for the HTTP gateway. A porta e o endereço são os mesmos que o URL do Service Fabric Explorer.The port and address are the same as the Service Fabric Explorer URL.

Para os clusters que estão protegidos por um certificado, pode especificar um certificado PEM codificado.For clusters that are secured with a certificate, you can specify a PEM-encoded certificate. O certificado pode ser especificado como um ficheiro individual ou como um certificado e par de chaves.The certificate can be specified as a single file or as a cert and a key pair. Se for um certificado autoassinado que não esteja assinado por uma AC, pode transmitir a opção --no-verify para ignorar a verificação de AC.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

Para obter mais informações, veja Connect to a secure Azure Service Fabric cluster (Ligar a um cluster do Azure Service Fabric seguro).For more information, see Connect to a secure Azure Service Fabric cluster.

Operações básicasBasic operations

As informações de ligação do cluster estão presentes em diferentes sessões da CLI do Service Fabric.Cluster connection information persists across multiple Service Fabric CLI sessions. Depois de selecionar um cluster do Service Fabric, pode executar qualquer comando do Service Fabric no mesmo.After you select a Service Fabric cluster, you can run any Service Fabric command on the cluster.

Por exemplo, para obter o estado de funcionamento do cluster do Service Fabric, utilize o comando seguinte:For example, to get the Service Fabric cluster health state, use the following command:

sfctl cluster health

O comando resulta na seguinte saída: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": []
}

Sugestões e resolução de problemasTips and troubleshooting

Seguem-se algumas sugestões e dicas para resolver problemas comuns.Here are some suggestions and tips for solving common problems.

Converter um certificado no formato PFX em PEMConvert a certificate from PFX to PEM format

A CLI do Service Fabric suporta ficheiros de certificados de cliente como PEM (extensão .pem).The Service Fabric CLI supports client-side certificates as PEM (.pem extension) files. Se utilizar ficheiros PFX do Windows, tem de converter esses certificados no formato PEM.If you use PFX files from Windows, you must convert those certificates to PEM format. Para converter um ficheiro PFX para ficheiro PEM, utilize o comando seguinte:To convert a PFX file to a PEM file, use the following command:

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

Da mesma forma, para converter um ficheiro PEM num ficheiro PFX, pode utilizar o seguinte comando (não é fornecida qualquer palavra-passe aqui):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:'' 

Para obter mais informações, veja a documentação de OpenSSL.For more information, see the OpenSSL documentation.

Problemas de ligaçãoConnection problems

Algumas operações poderão gerar a mensagem seguinte:Some operations might generate the following message:

Failed to establish a new connection

Verifique se o ponto final do cluster especificado está disponível e à escuta.Verify that the specified cluster endpoint is available and listening. Confirme, também, se a IU do Service Fabric Explorer está disponível no anfitrião e na porta.Also, verify that the Service Fabric Explorer UI is available at that host and port. Para atualizar o ponto final, utilize sfctl cluster select.To update the endpoint, use sfctl cluster select.

Registos detalhadosDetailed logs

Muitas vezes, os registos detalhados são úteis para depurar ou comunicar problemas.Detailed logs often are helpful when you debug or report a problem. O sinalizador de --debug aumenta o detalhamento da saída.The --debug flag increases the verbosity of the output.

Ajuda de comandos e sintaxeCommand help and syntax

Para obter ajuda com um comando específico ou um grupo de comandos, utilize o sinalizador -h.For help with a specific command or a group of commands, use the -h flag.

sfctl application -h

Segue-se outro exemplo:Here is another example:

sfctl application create -h

Atualizar a CLI do Service FabricUpdating the Service Fabric CLI

Para atualizar a CLI do Service Fabric, execute os seguintes comandos (substitua pip por pip3 consoante o que tiver escolhido durante a instalação original):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

Passos seguintesNext steps