Compartir a través de


Configuración de un clúster de Linux de Service Fabric a través de WSL2 en la máquina del desarrollador de Windows

En este documento se describe cómo configurar un clúster local de Service Fabric para Linux a través de WSL2 en una máquina de desarrollo Windows. La configuración de un clúster Linux local es útil para probar rápidamente las aplicaciones que se destinan a clústeres Linux, pero se desarrollan en un equipo Windows.

Requisitos previos

Los clústeres de Service Fabric basados en Linux no se ejecutan directamente en Windows, pero para habilitar la creación de prototipos multiplataforma, hemos proporcionado una manera de implementar el clúster de Service Fabric dentro de la distribución de Linux a través de WSL2 (Subsistema de Windows para Linux) para Windows.

Antes de comenzar, necesita:

  • Configurar WSL2 en Windows y asegurarse de que WSL 2 sea la versión predeterminada
  • Configurar la distribución de Linux de Ubuntu 18.04 desde Microsoft Store al configurar WSL2

Sugerencia

Para instalar WSL2 en una máquina Windows, siga los pasos que se indican en la documentación de WSL. Después de la instalación, asegúrese de instalar Ubuntu-18.04, de establecerlo como la distribución predeterminada y revisar que esté en funcionamiento.

Configuración del SDK de Service Fabric dentro de la distribución de Linux

La instalación de Service Fabric no se puede realizar en la distribución de Linux de WSL2 de la manera en que se realiza en el sistema operativo Linux estándar. Porque systemd como PID1 no se ejecuta dentro de la máquina virtual y systemd como PID1 es un requisito previo para que el SDK de SF funcione correctamente. Para habilitar systemd como PID1, se usa systemd-genie como solución alternativa. Puede encontrar más detalles sobre systemd-genie en configuración de systemd genie. Los pasos de instalación del script y de la instalación manual cubren la instalación de systemd-genie y del SDK de Service Fabric.

Instalación mediante script

Para mayor comodidad, se proporciona un script para facilitar la instalación del SDK común de Service Fabric junto con la CLI de sfctl. Con la ejecución del script se da por supuesto que acepta las licencias para todo el software que se está instalando. Como alternativa, puede seguir los pasos de instalación manual de la sección siguiente, que presentará las licencias asociadas, así como los componentes que se van a instalar.

Una vez que el script se ejecuta correctamente, puede ir directamente a Instalación de un clúster local.

sudo curl -s https://raw.githubusercontent.com/Azure/service-fabric-scripts-and-templates/master/scripts/SetupServiceFabric/SetupServiceFabric.sh | sudo bash

Instalación manual

Para la instalación manual del sistema en tiempo de ejecución y el SDK común de Service Fabric, siga los pasos descritos más abajo en esta guía.

  1. Abra un terminal.

  2. Inicie sesión en la distribución de Linux de WSL2

  3. Configure systemd-genie como se mencionó en la configuración de systemd genie (si systemd-genie ya está configurado, puede ir al paso siguiente)

  4. Use genie -s para entrar en el espacio de nombres de genie

  5. Dentro del espacio de nombres de genie, el SDK de SF también se puede instalar como se mencionó en los pasos de instalación del script o de la instalación manual en Configuración de un clúster local de Linux

  6. Proporcione privilegios de sudo al usuario actual haciendo una entrada <USERNAME\> ALL = (ALL) NOPASSWD:ALL en /etc/sudoers.

Instalación de un clúster local

Se recomienda que Service Fabric dentro de la máquina virtual de WSL2 se administre desde un host de Windows

  1. Instalación del SDK de Service Fabric (versión 6.0 o posterior) en un host de Windows

  2. En Windows, el clúster se puede administrar mediante la herramienta ServiceFabricLocalClusterManager proporcionada como parte del SDK de SF

  3. La opción para administrar el clúster local de Linux solo está habilitada cuando: a. La máquina virtual WSL2 se está ejecutando; b. Los paquetes systemd-genie, servicefabricruntime y servicefabricsdkcommon se instalan correctamente dentro de la máquina virtual; y c. Systemd-genie está en estado de ejecución. Desde esta herramienta se puede configurar o cambiar al clúster local de Linux.

  4. Otra manera de configurar el clúster de Linux es implementar mediante scripts de configuración de clústers proporcionados como parte del SDK de SF.

  5. Abra un explorador web y vaya a Service Fabric Explorer http://localhost:19080. Al iniciarse el clúster, debería ver el panel de Service Fabric Explorer. El clúster puede tardar varios minutos en configurarse. Si el explorador no abre la dirección URL o si Service Fabric Explorer no muestra el clúster, espere unos minutos y vuelva a intentarlo. También puede ver el clúster en ServiceFabricExplorer, proporcionado en el SDK de SF.

  6. Una vez que el clúster esté en funcionamiento, puede conectarse al clúster local en PowerShell y Visual Studio.

Instalación manual con ServiceFabric personalizado y el paquete de Debian de ServieFabricSdkCommon

Para la instalación manual del Service Fabric desde paquetes de Debian personalizados o descargados, siga el resto de esta guía.

  1. Abra un terminal.

  2. Inicie sesión en la distribución de Linux de WSL2

  3. Clone un archivo de configuración

sudo curl -s https://raw.githubusercontent.com/Azure/service-fabric-scripts-and-templates/master/scripts/SetupServiceFabric/SetupServiceFabric.sh > SetupServiceFabric.sh
  1. Haga que el archivo sea ejecutable
sudo chmod +x SetupServiceFabric.sh
  1. Ejecute el script de configuración con la ruta de acceso de los paquetes de Debian locales. Asegúrese de que las rutas de acceso proporcionadas sean válidas. Aquí tiene un ejemplo:
sudo ./SetupServiceFabric.sh --servicefabricruntime=/mnt/c/Users/testuser/Downloads/servicefabric.deb --servicefabricsdk=/mnt/c/Users/testuser/Downloads/servicefabric_sdkcommon.deb

Limitaciones conocidas

A continuación se muestran limitaciones conocidas del clúster local que se ejecuta en una distribución de Linux:

  • Actualmente, solo se admite la distribución Ubuntu-18.04.
  • Para tener una experiencia perfecta con el Administrador de clústeres locales y Visual Studio, se recomienda administrar el clúster a partir de scripts de PowerShell o LocalClusterManager en el host de Windows.

Preguntas más frecuentes

  1. ¿Qué distribuciones de Linux se admiten para la configuración de clústeres locales de SF?
    Actualmente, solo se admite Ubuntu-18.04 para el clúster local de Linux.

  2. ¿Se puede ejecutar el clúster de SF de Linux y Windows en paralelo con la configuración de WSL2?
    No, solo se puede ejecutar un clúster local en el host o en la máquina virtual invitada.

  3. ¿Cómo implementar un clúster local de Linux de un nodo?
    Los clústeres locales de Linux de uno o cinco nodos se pueden implementar desde el Administrador de clústeres locales en las opciones de menú. Al implementar desde el script de instalación, se implementa de manera predeterminada un clúster de 5 nodos y para un clúster de un nodo se debe usar CreateOneNodeCluster.

  4. ¿Cómo conectarse al clúster local de Linux en PowerShell y Visual Studio?
    Si el clúster local de Linux está en ejecución, el cmdlet connect-servicefabriccluster debería conectarse automáticamente a él. Visual Studio similares detectarán automáticamente este clúster local. Este clúster también se puede conectar al proporcionar un punto de conexión de clúster en PowerShell o Visual Studio.

  5. ¿Dónde se encuentran los datos del clúster de SF para el clúster local de Linux?
    Si usa la distribución Ubuntu-18.04, los datos de SF se encuentran en \wsl$\Ubuntu-18.04\home\sfuser\sfdevcluster desde el host de Windows.

Pasos siguientes