Konfigurowanie środowiska deweloperskiego w systemie macOS X

Aplikacje usługi Azure Service Fabric można tworzyć do uruchamiania w klastrach systemu Linux przy użyciu systemu macOS X. W tym dokumencie opisano sposób konfigurowania komputera Mac na potrzeby programowania.

Wymagania wstępne

Usługa Azure Service Fabric nie działa natywnie w systemie macOS X. Aby uruchomić lokalny klaster usługi Service Fabric, zostanie udostępniony wstępnie skonfigurowany obraz kontenera platformy Docker. Przed rozpoczęciem potrzebne są następujące elementy:

Porada

Aby zainstalować platformę Docker na komputerze Mac, wykonaj czynności opisane w dokumentacji platformy Docker. Po zainstalowaniu można użyć programu Docker Desktop, aby ustawić preferencje, w tym limity zasobów i użycie dysku.

Tworzenie kontenera lokalnego i konfigurowanie usługi Service Fabric

Aby skonfigurować lokalny kontener platformy Docker i uruchomić w nim klaster usługi Service Fabric, wykonaj następujące czynności:

  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": "fd00::/64"
    }
    

    Możesz zaktualizować te ustawienia bezpośrednio w pliku daemon.json w ścieżce instalacji platformy Docker. Ustawienia konfiguracji demona można modyfikować bezpośrednio na platformie Docker. Wybierz ikonę platformy Docker, a następnie wybierz pozycje Preferencje>Demon>Zaawansowane.

    Uwaga

    Modyfikowanie demona bezpośrednio na platformie Docker jest zalecane, ponieważ lokalizacja pliku demona.json może się różnić od komputera do komputera. Przykład: ~/Library/Containers/com.docker.docker/Data/database/com.docker.driver.amd64-linux/etc/docker/daemon.json.

    Porada

    Zalecamy zwiększenie zasobów przydzielonych do platformy Docker podczas testowania dużych aplikacji. W tym celu można wybrać ikonę platformy Docker, a następnie wybrać pozycję Zaawansowane, aby dostosować liczbę rdzeni i ilość pamięci.

  2. Uruchom klaster.

    Najnowsza:

    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:latest
    

    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
    

    Porada

    Domyślnie zostanie ściągnięty obraz z najnowszą wersją usługi Service Fabric. Aby uzyskać szczegółowe poprawki, odwiedź stronę Onebox usługi Service Fabric w Docker Hub.

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

    W nowym katalogu utwórz plik o nazwie Dockerfile , aby skompilować dostosowany obraz:

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

    Porada

    Domyślnie zostanie ściągnięty obraz z najnowszą wersją usługi Service Fabric. Aby uzyskać szczegółowe poprawki, odwiedź stronę Docker Hub.

    Aby skompilować obraz wielokrotnego użytku z poziomu programu Dockerfile, otwórz terminal i cd w katalogu zawierającym 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 za każdym razem, gdy jest ona 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
    

    Porada

    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. Uruchomienie klastra zajmie trochę czasu. Po uruchomieniu dzienniki można wyświetlić przy użyciu następującego polecenia lub przejść do pulpitu nawigacyjnego, aby wyświetlić kondycję klastrów: http://localhost:19080

    docker logs sftestcluster
    
  5. Aby zatrzymać i wyczyścić kontener, użyj następującego polecenia. Jednak w następnym kroku użyjemy tego kontenera.

    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 sf na hoście systemu Linux. Zagnieżdżone aplikacje kontenerów nie są obecnie obsługiwane.

Konfigurowanie interfejsu wiersza polecenia usługi Service Fabric (sfctl) na komputerze Mac

Postępuj zgodnie z instrukcjami w temacie Interfejs wiersza polecenia usługi Service Fabric, aby zainstalować interfejs wiersza polecenia usługi Service Fabric (sfctl) na komputerze Mac. Polecenia interfejsu wiersza polecenia obsługują interakcję z jednostkami usługi Service Fabric, w tym klastrami, aplikacjami i usługami.

  1. Aby połączyć się z klastrem przed wdrożeniem aplikacji, uruchom poniższe polecenie.
sfctl cluster select --endpoint http://localhost:19080

Tworzenie aplikacji na komputerze Mac przy użyciu narzędzia Yeoman

Usługa Service Fabric udostępnia narzędzia do tworzenia szkieletów, które ułatwiają tworzenie aplikacji usługi Service Fabric z poziomu terminalu przy użyciu generatora szablonów narzędzia Yeoman. Wykonaj poniższe czynności, aby upewnić się, że generator szablonów narzędzia Yeoman usługi Service Fabric działa na Twojej maszynie:

  1. Node.js i Node Package Manager muszą być zainstalowane na komputerze Mac. Oprogramowanie można zainstalować za pomocą rozwiązania HomeBrew w następujący sposób:

    brew install node
    node -v
    npm -v
    
  2. Zainstaluj generator szablonów narzędzia Yeoman na maszynie z poziomu Menedżera pakietów węzła:

    npm install -g yo
    
  3. Zainstaluj generator Yeoman, którego chcesz używać, zgodnie z instrukcjami podanymi w dokumentacji wprowadzającej. Aby utworzyć aplikacje usługi Service Fabric za pomocą narzędzia Yeoman, wykonaj następujące czynności:

    npm install -g generator-azuresfjava       # for Service Fabric Java Applications
    npm install -g generator-azuresfguest      # for Service Fabric Guest executables
    npm install -g generator-azuresfcontainer  # for Service Fabric Container Applications
    
  4. Po zainstalowaniu generatorów utwórz plik wykonywalny gościa lub usługi kontenera, uruchamiając odpowiednio polecenie yo azuresfguest lub yo azuresfcontainer.

  5. Aby można było skompilować aplikację Java usługi Service Fabric na komputerze Mac, na maszynie hosta muszą być zainstalowane zestaw JDK 1.8 i narzędzie Gradle. Oprogramowanie można zainstalować za pomocą rozwiązania HomeBrew w następujący sposób:

    brew update
    brew cask install java
    brew install gradle
    

    Ważne

    Bieżące wersje zestawu brew cask install java mogą instalować najnowszą wersję zestawu JDK. Pamiętaj, aby zainstalować zestaw JDK 8.

Wdrażanie aplikacji na komputerze Mac z poziomu terminalu

Po utworzenia i skompilowaniu aplikacji usługi Service Fabric możesz wdrożyć ją przy użyciu interfejsu wiersza polecenia usługi Service Fabric:

  1. Połącz się z klastrem usługi Service Fabric działającym wewnątrz wystąpienia kontenera na komputerze Mac:

    sfctl cluster select --endpoint http://localhost:19080
    
  2. Uruchom skrypt instalacji z poziomu katalogu projektu:

    cd MyProject
    bash install.sh
    

Konfigurowanie programowania platformy .NET Core 3.1

Zainstaluj zestaw SDK platformy .NET Core 3.1 dla komputerów Mac , aby rozpocząć tworzenie aplikacji usługi Service Fabric w języku C#. Pakiety dla aplikacji usługi Service Fabric platformy .NET Core są hostowane w NuGet.org.

Instalowanie wtyczki usługi Service Fabric dla środowiska Eclipse na komputerze Mac

Usługa Azure Service Fabric udostępnia wtyczkę środowiska Eclipse Neon (lub nowszą) dla środowiska IDE Java. Wtyczka upraszcza proces tworzenia, kompilowania i wdrażania usług Java. Aby zainstalować wtyczkę usługi Service Fabric dla środowiska Eclipse lub zaktualizować ją do najnowszej wersji, wykonaj te czynności. Możesz też wykonać inne procedury przedstawione w dokumentacji usługi Service Fabric dla środowiska Eclipse: kompilowanie aplikacji, dodawanie usługi do aplikacji, odinstalowywanie aplikacji itp.

Ostatnim krokiem jest utworzenie wystąpienia kontenera ze ścieżką współużytkowaną z hostem. Wtyczka wymaga tego typu wystąpienia na potrzeby pracy z kontenerem platformy Docker na komputerze Mac. Na przykład:

docker run -itd -p 19080:19080 -v /Users/sayantan/work/workspaces/mySFWorkspace:/tmp/mySFWorkspace --name sfonebox mcr.microsoft.com/service-fabric/onebox:latest

Zdefiniowane są następujące atrybuty:

  • /Users/sayantan/work/workspaces/mySFWorkspace to w pełni kwalifikowana ścieżka obszaru roboczego na komputerze Mac.
  • /tmp/mySFWorkspace to ścieżka wewnątrz kontenera, na którą ma zostać zamapowana ścieżka obszaru roboczego.

Uwaga

Jeśli obszar roboczy ma inną nazwę/ścieżkę, zaktualizuj te wartości w poleceniu docker run.

Jeśli uruchamiasz kontener o innej nazwie niż sfonebox, zaktualizuj wartość nazwy w pliku testclient.sh w aplikacji Java usługi Service Fabric aktora.

Następne kroki