Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este documento se describe cómo configurar un clúster local de Service Fabric para Linux 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 en Windows, pero para habilitar la creación de prototipos multiplataforma, hemos proporcionado un contenedor docker de un clúster de Service Fabric de Linux de un cuadro, que se puede implementar a través de Docker para Windows.
Antes de comenzar, necesita:
- Al menos 4 GB de RAM
- La versión más reciente de Docker para Windows
- Docker debe ejecutarse en modo de contenedores de Linux
Sugerencia
Para instalar Docker en una máquina Windows, siga los pasos que se indican en la documentación de Docker. Después de instalar, compruebe la instalación.
Creación de un contenedor local e instalación de Service Fabric
Para configurar un contenedor de Docker local y hacer que un clúster de Service Fabric se ejecute en él, siga estos pasos:
Actualice la configuración del demonio de Docker en el host con lo siguiente y reinicie dicho demonio:
{ "ipv6": true, "fixed-cidr-v6": "2001:db8:1::/64" }La forma recomendada de actualizarla es ir a:
- Icono de Docker > Configuración > Motor de Docker
- Agregar los nuevos campos enumerados anteriormente.
- Aplicar & reiniciar: reinicie el demonio de Docker para que los cambios surtan efecto.
Inicie el clúster mediante PowerShell.
Ubuntu 20.04 LTS:docker run --name sftestcluster -d -v /var/run/docker.sock:/var/run/docker.sock -p 19080:19080 -p 19000:19000 -p 25100-25200:25100-25200 mcr.microsoft.com/service-fabric/onebox:u20Ubuntu 18.04 LTS:
docker run --name sftestcluster -d -v /var/run/docker.sock:/var/run/docker.sock -p 19080:19080 -p 19000:19000 -p 25100-25200:25100-25200 mcr.microsoft.com/service-fabric/onebox:u18Sugerencia
De forma predeterminada, se extraerá la imagen con la versión más reciente de Service Fabric. Para ver revisiones concretas, consulte la página Service Fabric OneBox en Docker Hub.
Opcional: Cree una imagen de Service Fabric extendida.
En un directorio nuevo, cree un archivo denominado
Dockerfilepara crear la imagen personalizada:Nota:
Puede adaptar esa imagen con un Dockerfile para agregar programas o dependencias al contenedor. Por ejemplo, si se agrega
RUN apt-get install nodejs -y, será posible usar aplicacionesnodejscomo ejecutables de invitado.FROM mcr.microsoft.com/service-fabric/onebox:u18 RUN apt-get install nodejs -y EXPOSE 19080 19000 80 443 WORKDIR /home/ClusterDeployer CMD ["./ClusterDeployer.sh"]Sugerencia
De forma predeterminada, se extraerá la imagen con la versión más reciente de Service Fabric. Para revisiones concretas, visite la página Docker Hub.
Para crear una imagen reutilizable a partir de
Dockerfile, abra una ventana de terminal y ejecutecdpara cambiar al directorio donde se encuentra suDockerfiley, después, ejecute:docker build -t mysfcluster .Nota:
Esta operación tardará un tiempo, pero solo se necesita una vez.
Ya se puede iniciar rápidamente una copia local de Service Fabric, siempre que se necesite. Para ello, hay que ejecutar:
docker run --name sftestcluster -d -v /var/run/docker.sock:/var/run/docker.sock -p 19080:19080 -p 19000:19000 -p 25100-25200:25100-25200 mysfclusterSugerencia
Proporcione un nombre para su instancia de contenedor para que se pueda manejar de manera más clara.
Si la aplicación está escuchando en determinados puertos, estos deben especificarse mediante etiquetas
-padicionales. Por ejemplo, si la aplicación está escuchando en el puerto 8080, agregue la siguiente etiqueta-p:docker run -itd -p 19000:19000 -p 19080:19080 -p 8080:8080 --name sfonebox mcr.microsoft.com/service-fabric/onebox:u18El clúster tardará un poco de tiempo en iniciarse; puede ver los registros con el comando siguiente o pasar al panel para ver el mantenimiento de los clústeres
http://localhost:19080:docker logs sftestclusterUna vez que el clúster se implementa correctamente, como se ve en el paso 4, puede ir a
http://localhost:19080desde su máquina Windows para buscar el panel de Service Fabric Explorer. En este momento, puede conectarse a este clúster mediante las herramientas de la máquina del desarrollador de Windows e implementar aplicaciones destinadas a los clústeres de Service Fabric para Linux.Nota:
El complemento de Eclipse no se admite actualmente en Windows.
Cuando haya acabado, detenga el contenedor y límpielo con este comando:
docker rm -f sftestcluster
Limitaciones conocidas
A continuación se muestran limitaciones conocidas del clúster local que se ejecuta en un contenedor para dispositivos Mac:
- El servicio DNS no se ejecuta y actualmente no se admite dentro del contenedor. Problema n.° 132
- La ejecución de aplicaciones basadas en contenedores requiere la ejecutar SF en un host de Linux. Actualmente no se admiten aplicaciones de contenedor anidadas.
Pasos siguientes
- Configuración de un clúster de Linux en Windows mediante WSL2
- Creación e implementación de la primera aplicación de Java para Service Fabric en Linux con Yeoman
- Introducción a Eclipse
- Consulte otros ejemplos de Java.
- Más información sobre las opciones de soporte técnico de Service Fabric