Konfigurowanie środowiska projektowego 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:
Wymagania systemowe dotyczące instalowania programu Docker Desktop na komputerze Mac
Aby zainstalować i uruchomić program Docker Desktop na komputerze Mac
Napiwek
Aby zainstalować platformę Docker na komputerze Mac, wykonaj czynności opisane w dokumentacji platformy Docker. Po zainstalowaniu można użyć programu Docker Desktop do ustawienia preferencji, w tym limitów zasobów i wykorzystania 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:
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 daemon.json może się różnić w zależności od komputera. Przykład: ~/Library/Containers/com.docker.docker/Data/database/com.docker.driver.amd64-linux/etc/docker/daemon.json.
Napiwek
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.
Uruchom klaster.
Najnowszy:
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
Napiwek
Domyślnie zostanie ściągnięty obraz z najnowszą wersją usługi Service Fabric. Aby uzyskać konkretne poprawki, odwiedź stronę Onebox usługi Service Fabric w usłudze Docker Hub.
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ę aplikacjinodejs
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
Dockerfile
programu , otwórz terminal icd
w katalogu zawierającym polecenieDockerfile
, 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
Uruchomienie klastra potrwa chwilę. Po uruchomieniu można wyświetlić dzienniki przy użyciu następującego polecenia lub przejść do pulpitu nawigacyjnego, aby wyświetlić kondycję klastrów:
http://localhost:19080
docker logs sftestcluster
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 usługi SF na hoście systemu Linux. Aplikacje kontenerów zagnieżdżonych 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.
- 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:
Node.js i node Menedżer pakietów 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
Zainstaluj generator szablonów narzędzia Yeoman na maszynie z Menedżer pakietów Node:
npm install -g yo
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
Po zainstalowaniu generatorów utwórz plik wykonywalny gościa lub usługi kontenera, uruchamiając odpowiednio polecenie
yo azuresfguest
lubyo azuresfcontainer
.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:
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
Uruchom skrypt instalacji z poziomu katalogu projektu:
cd MyProject bash install.sh
Konfigurowanie programowania na platformie .NET Core 3.1
Zainstaluj zestaw .NET Core 3.1 SDK 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
- Create and deploy your first Service Fabric Java application on Linux using Yeoman (Tworzenie i wdrażanie pierwszej aplikacji Java usługi Service Fabric w systemie Linux przy użyciu programu Yeoman)
- Create and deploy your first Service Fabric Java application on Linux using Service Fabric Plugin for Eclipse (Tworzenie i wdrażanie pierwszej aplikacji Java usługi Service Fabric w systemie Linux przy użyciu wtyczki usługi Service Fabric dla środowiska Eclipse)
- Tworzenie klastra usługi Service Fabric w witrynie Azure Portal
- Tworzenie klastra usługi Service Fabric przy użyciu usługi Azure Resource Manager
- Informacje o modelu aplikacji usługi Service Fabric
- Use the Service Fabric CLI to manage your applications (Zarządzanie aplikacjami przy użyciu interfejsu wiersza polecenia usługi Service Fabric)
- Przygotowywanie środowiska projektowego systemu Linux w systemie Windows