Konfigurowanie klastra usługi Service Fabric systemu Linux na maszynie dewelopera z systemem Windows

W tym dokumencie opisano sposób konfigurowania lokalnego klastra usługi Service Fabric systemu Linux na komputerze deweloperskim z systemem Windows. Skonfigurowanie lokalnego klastra systemu Linux jest przydatne do szybkiego testowania aplikacji przeznaczonych dla klastrów systemu Linux, ale są opracowywane na maszynie z systemem Windows.

Wymagania wstępne

Klastry usługi Service Fabric oparte na systemie Linux nie działają w systemie Windows, ale w celu włączenia międzyplatformowego tworzenia prototypów udostępniliśmy kontener docker klastra usługi Service Fabric systemu Linux z jednym pudełkiem, który można wdrożyć za pośrednictwem platformy Docker dla systemu Windows.

Przed rozpoczęciem potrzebne są następujące elementy:

  • Co najmniej 4 GB pamięci RAM
  • Najnowsza wersja platformy Docker dla systemu Windows
  • Platforma Docker musi działać w trybie kontenerów systemu Linux

Napiwek

Aby zainstalować platformę Docker na komputerze z systemem Windows, wykonaj kroki opisane w dokumentacji platformy Docker. Po zainstalowaniu platformy zweryfikuj instalację.

Tworzenie kontenera lokalnego i konfigurowanie usługi Service Fabric

Aby skonfigurować lokalny kontener platformy Docker i mieć uruchomiony w nim klaster usługi Service Fabric, uruchom następujące kroki:

  1. Zaktualizuj konfigurację demona platformy Docker na swoim hoście za pomocą następujących ustawień i ponownie uruchom demona platformy Docker:

    {
      "ipv6": true,
      "fixed-cidr-v6": "2001:db8:1::/64"
    }
    

    Zalecanym sposobem aktualizacji jest przejście do:

    • Ikona platformy > Docker Ustawienia Aparatu platformy > Docker
    • Dodaj nowe pola wymienione powyżej
    • Zastosuj i uruchom ponownie — uruchom ponownie demona platformy Docker, aby zmiany zaczęły obowiązywać.
  2. Uruchom klaster za pomocą programu 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:u20
    

    Ubuntu 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:u18
    

    Napiwek

    Domyślnie zostanie ściągnięty obraz z najnowszą wersją usługi Service Fabric. Aby uzyskać konkretne poprawki, zobacz stronę Onebox usługi Service Fabric w usłudze Docker Hub.

  3. Opcjonalnie: Skompiluj rozszerzony obraz usługi Service Fabric.

    W nowym katalogu utwórz plik o nazwie Dockerfile w celu skompilowania dostosowanego obrazu:

    Uwaga

    Możesz dostosować powyższy obraz za pomocą pliku Dockerfile, aby dodać dodatkowe programy lub zależności do kontenera. Na przykład dodanie elementu RUN apt-get install nodejs -y umożliwi obsługę aplikacji nodejs jako plików wykonywalnych gościa.

    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"]
    

    Napiwek

    Domyślnie zostanie ściągnięty obraz z najnowszą wersją usługi Service Fabric. Poszczególne wersje są dostępne na stronie usługi Docker Hub.

    Aby skompilować obraz wielokrotnego użytku z poziomu Dockerfileprogramu , otwórz terminal i cd bezpośrednio przytrzymując polecenie Dockerfile , a następnie uruchom polecenie:

    docker build -t mysfcluster .
    

    Uwaga

    Ta operacja może zająć pewien czas, ale trzeba ją wykonać tylko raz.

    Teraz możesz szybko uruchomić lokalną kopię usługi Service Fabric zawsze, gdy jest potrzebna, uruchamiając polecenie:

    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 mysfcluster
    

    Napiwek

    Określ nazwę wystąpienia kontenera, aby usprawnić jego obsługę.

    Jeśli Twoja aplikacja nasłuchuje na określonych portach, należy je określić za pomocą dodatkowych tagów -p. Jeśli na przykład aplikacja nasłuchuje na porcie 8080, dodaj następujący tag -p:

    docker run -itd -p 19000:19000 -p 19080:19080 -p 8080:8080 --name sfonebox mcr.microsoft.com/service-fabric/onebox:u18

  4. Klaster zostanie uruchomiony po krótkim czasie. Możesz wyświetlić dzienniki przy użyciu poniższego polecenia lub przejść do pulpitu nawigacyjnego, aby wyświetlić kondycję klastrów http://localhost:19080:

    docker logs sftestcluster
    
  5. Po pomyślnym wdrożeniu klastra, jak pokazano w kroku 4, możesz przejść z http://localhost:19080 komputera z systemem Windows, aby znaleźć pulpit nawigacyjny narzędzia Service Fabric Explorer. W tym momencie możesz nawiązać połączenie z tym klastrem przy użyciu narzędzi z komputera dewelopera z systemem Windows i wdrożyć aplikacje przeznaczone dla klastrów usługi Service Fabric systemu Linux.

    Uwaga

    Wtyczka Eclipse obecnie nie jest obsługiwana w systemie Windows.

  6. Po zakończeniu zatrzymaj i wyczyść kontener za pomocą tego polecenia:

    docker rm -f sftestcluster
    

Znane ograniczenia

Poniżej przedstawiono znane ograniczenia dotyczące klastrów lokalnych działających w kontenerze na komputerach Mac:

  • Usługa DNS nie jest uruchomiona i obecnie nie jest obsługiwana w kontenerze. Problem nr 132
  • Uruchamianie aplikacji opartych na kontenerach wymaga uruchomienia usługi SF na hoście systemu Linux. Aplikacje kontenerów zagnieżdżonych nie są obecnie obsługiwane.

Następne kroki