CLI de Azure Service FabricAzure Service Fabric CLI

La interfaz de línea de comandos (CLI) de Azure Service Fabric es una utilidad de línea de comandos para interactuar y administrar entidades de Service Fabric.The Azure Service Fabric command-line interface (CLI) is a command-line utility for interacting with and managing Service Fabric entities. La CLI de Service Fabric puede utilizarse con clústeres Windows o Linux.The Service Fabric CLI can be used with either Windows or Linux clusters. La CLI de Service Fabric se ejecuta en cualquier plataforma que sea compatible con Python.The Service Fabric CLI runs on any platform where Python is supported.

Importante

Hay dos utilidades de la CLI que interactúan con Service Fabric.There are two CLI utilities used to interact with Service Fabric. La CLI de Azure se utiliza para administrar los recursos de Azure, como un clúster de Service Fabric hospedado en Azure.Azure CLI is used to manage Azure resources, such as an Azure-hosted Service Fabric cluster. La CLI de Service Fabric se utiliza para conectarse directamente al clúster de Service Fabric (independientemente de dónde esté hospedado) y administrar el clúster, las aplicaciones y los servicios.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.

PrerrequisitosPrerequisites

Antes de la instalación, asegúrese de que el entorno tiene Python y pip instalados.Prior to installation, make sure your environment has both Python and pip installed. Para más información, consulte la documentación de inicio rápido de pip y la documentación oficial de instalación de Python.For more information, see the pip quickstart documentation and the official Python installation documentation.

La CLI admite las versiones 2.7, 3.5, 3.6 y 3.7 de Python.The CLI supports Python versions 2.7, 3.5, 3.6, and 3.7. Se recomienda usar Python 3.x, ya que el soporte técnico de Python 2.7 finalizará pronto.Python 3.x is the recommended version, since Python 2.7 will reach end of support soon.

Runtime de destino de Service FabricService Fabric target runtime

La CLI de Service Fabric debería ser compatible con la versión más reciente del runtime del SDK de Service Fabric.The Service Fabric CLI is meant to support the latest runtime version of the Service Fabric SDK. Use la siguiente tabla para determinar qué versión de la CLI debe instalar:Use the following table to determine which version of CLI to install:

Versión de la CLICLI version versión compatible del runtimesupported runtime version
Más reciente (~=10)Latest (~=10) Más reciente (~=7.1)Latest (~=7.1)
9.0.09.0.0 7.17.1
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

También puede especificar la versión de destino de la CLI que se va a instalar. Para ello debe usar ==<version> delante del comando pip install.You can optionally specify a target version of the CLI to install by suffixing the pip install command with ==<version>. Por ejemplo, en el caso de la versión 1.1.0 la sintaxis sería:For example, for version 1.1.0 the syntax would be:

pip install -I sfctl==1.1.0

Reemplace el siguiente comando pip install por el comando mencionado anteriormente cuando sea necesario.Replace the following pip install command with the previously mentioned command when necessary.

Para más información sobre las versiones de la CLI de Service Fabric, consulte la documentación de GitHub.For more information on Service Fabric CLI releases, see the GitHub documentation.

Instalación de pip, Python y la CLI de Service FabricInstall pip, Python, and the Service Fabric CLI

Hay muchas maneras de instalar pip y Python en la plataforma.There are many ways to install pip and Python on your platform. Estos son algunos pasos para configurar rápidamente los principales sistemas operativos con Python 3 y 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 y Windows Server 2012 R2, siga las instrucciones oficiales de la instalación estándar.For Windows 10, Windows Server 2016, and Windows Server 2012 R2, use the standard official installation instructions. El programa de instalación de Python también instala pip de forma predeterminada.The Python installer also installs pip by default.

  1. Vaya a la página de descargas de Python oficial y descargue la versión más reciente de Python 3.7.Go to the official Python downloads page, and download the latest release of Python 3.7.

  2. Inicie el programa de instalación.Start the installer.

  3. En la parte inferior de la interfaz, seleccione Add Python 3.7 to PATH (Agregar Python 3.7 a PATH).At the bottom of the prompt, select Add Python 3.7 to PATH.

  4. Seleccione Instalar ahora para finalizar la instalación.Select Install Now, and finish the installation.

Ahora puede abrir una nueva ventana de comandos y obtener la versión de Python y pip.Now you can open a new command window and get the version of both Python and pip.

python --version
pip --version

Después, ejecute el siguiente comando para instalar la CLI de Azure Service Fabric (sfctl) y ver la página de ayuda de la 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 y subsistema de Windows para LinuxUbuntu and Windows subsystem for Linux

Para ejecutar la CLI de Service Fabric, ejecute los siguientes 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

A continuación, puede probar la instalación con:Then you can test the installation with:

sfctl -h

Si recibe un error del tipo command not found, como:If you receive a command not found error such as:

sfctl: command not found

Asegúrese de que se puede acceder a ~/.local/bin desde $PATH:Be sure that ~/.local/bin is accessible from the $PATH:

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

Si se produce un error en la instalación en el subsistema de Windows para Linux debido a que los permisos de carpeta no son correctos, es posible que sea necesario volver a intentarlo con permisos superiores: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 (compatibilidad con la versión preliminar de Service Fabric)Red Hat Enterprise Linux 7.4 (Service Fabric preview support)

Para instalar la CLI de Service Fabric en Red Hat, ejecute los siguientes 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 probar la instalación, puede consultar los pasos mencionados en la sección Ubuntu y subsistema de Windows para Linux.For testing the installation, you can refer to the steps mentioned in Ubuntu and Windows subsystem for Linux section

MacOSMacOS

Para MacOS, se recomienda utilizar el administrador de paquetes de HomeBrew.For MacOS, we recommend that you use the HomeBrew package manager. Si HomeBrew si no está ya instalado, puede hacerlo ejecutando el comando siguiente: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)"

A continuación, desde el terminal, ejecute los siguientes comandos para instalar Python 3.7, pip y la CLI de Service Fabric: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

Sintaxis de la CLICLI syntax

Los comandos siempre tienen el prefijo sfctl.Commands are always prefixed with sfctl. Para obtener información general acerca de todos los comandos que puede usar, use sfctl -h.For general information about all the commands you can use, use sfctl -h. Para obtener ayuda con un único comando, use sfctl <command> -h.For help with a single command, use sfctl <command> -h.

Los comandos siguen una estructura repetible, con el destino del comando precediendo al verbo o la acción.Commands follow a repeatable structure, with the target of the command preceding the verb or the action.

sfctl <object> <action>

En este ejemplo, <object> es el destino de <action>.In this example, <object> is the target for <action>.

Selección de un clústerSelect a cluster

Para poder realizar cualquier operación, es preciso seleccionar un clúster al que conectarse.Before you perform any operations, you must select a cluster to connect to. Por ejemplo, ejecute el siguiente comando para seleccionar y conectarse al clúster con el nombre testcluster.com:For example, to select and connect to the cluster with the name testcluster.com, run the following command:

Advertencia

No utilice clústeres de Service Fabric que no sean seguros en entornos de producción.Do not use unsecured Service Fabric clusters in a production environment.

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

El punto de conexión del clúster debe ir precedido por el prefijo http o https.The cluster endpoint must be prefixed by http or https. Debe incluir el puerto para la puerta de enlace HTTP.It must include the port for the HTTP gateway. El puerto y la dirección coinciden con la dirección URL de Service Fabric Explorer.The port and address are the same as the Service Fabric Explorer URL.

Para clústeres que están protegidos con un certificado, puede especificar un certificado PEM codificado.For clusters that are secured with a certificate, you can specify a PEM-encoded certificate. El certificado se puede especificar como un único archivo o como un par de certificado y clave.The certificate can be specified as a single file or as a cert and a key pair. Si es un certificado autofirmado sin firma de una entidad de certificación, puede pasar la opción --no-verify para omitir la comprobación de la entidad de certificación.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 más información, consulte Conexión a un clúster seguro de Azure Service Fabric.For more information, see Connect to a secure Azure Service Fabric cluster.

Operaciones básicasBasic operations

La información de la conexión del clúster se mantiene en varias sesiones de la CLI de Service Fabric.Cluster connection information persists across multiple Service Fabric CLI sessions. Una vez que se selecciona un clúster de Service Fabric, se puede ejecutar cualquier comando de Service Fabric en él.After you select a Service Fabric cluster, you can run any Service Fabric command on the cluster.

Por ejemplo, para obtener el estado del clúster de Service Fabric, use el siguiente comando:For example, to get the Service Fabric cluster health state, use the following command:

sfctl cluster health

El comando devuelve la siguiente salida: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": []
}

Sugerencias y solución de problemasTips and troubleshooting

Sugerencias y consejos para resolver problemas comunes.Here are some suggestions and tips for solving common problems.

Conversión de un certificado de formato PFX a PEMConvert a certificate from PFX to PEM format

La CLI de Service Fabric admite certificados de cliente como archivos PEM (extensión .pem).The Service Fabric CLI supports client-side certificates as PEM (.pem extension) files. Si utiliza los archivos PFX de Windows, debe convertir esos certificados al formato PEM.If you use PFX files from Windows, you must convert those certificates to PEM format. Para convertir un archivo PFX en uno PEM, use el comando siguiente:To convert a PFX file to a PEM file, use the following command:

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

Análogamente, para convertir un archivo PEM en uno PFX, puede usar el siguiente comando (la contraseña no se proporciona aquí):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 más información, consulte la documentación de OpenSSL.For more information, see the OpenSSL documentation.

Problemas de conexiónConnection problems

Algunas operaciones pueden generar el mensaje siguiente:Some operations might generate the following message:

Failed to establish a new connection

Compruebe que el punto de conexión del clúster especificado está disponible y a la escucha.Verify that the specified cluster endpoint is available and listening. Compruebe también que la interfaz de usuario de Service Fabric Explorer está disponible en dicho host y puerto.Also, verify that the Service Fabric Explorer UI is available at that host and port. Use sfctl cluster select para actualizar el punto de conexión.To update the endpoint, use sfctl cluster select.

Registros detalladosDetailed logs

Los registros detallados suelen ser útiles para depurar o notificar un problema.Detailed logs often are helpful when you debug or report a problem. La marca --debug aumenta el nivel de detalle de la salida.The --debug flag increases the verbosity of the output.

Ayuda y sintaxis de los comandosCommand help and syntax

Para obtener ayuda con un comando específico o un grupo de comandos, use la marca -h.For help with a specific command or a group of commands, use the -h flag.

sfctl application -h

Este es otro ejemplo:Here is another example:

sfctl application create -h

Actualización de la CLI de Service FabricUpdating the Service Fabric CLI

Para actualizar la CLI de Service Fabric, ejecute los siguientes comandos (reemplace pip con pip3, según lo que especificara durante la instalación 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

Pasos siguientesNext steps