Nastavení vývojového prostředí v macOS X
Pomocí macOS X můžete vytvářet aplikace Azure Service Fabric pro spouštění v clusterech s Linuxem. Tento dokument popisuje, jak nastavit Mac pro vývoj.
Požadavky
Azure Service Fabric se v systému macOS X nespouští nativně. Ke spuštění místního clusteru Service Fabric je k dispozici předem nakonfigurovaná image kontejneru Dockeru. Než začnete, budete potřebovat:
Požadavky na systém pro instalaci Docker Desktopu na Macu
Tip
Pokud chcete nainstalovat Docker na svém počítači Mac, postupujte podle kroků v dokumentaci k Dockeru. Po instalaci můžete pomocí Docker Desktopu nastavit předvolby, včetně omezení prostředků a využití disků.
Vytvoření místního kontejneru a nastavení Service Fabric
Pokud chcete nastavit místní kontejner Dockeru a mít v něm spuštěný cluster Service Fabric, proveďte následující kroky:
Aktualizujte konfiguraci démona Dockeru na hostiteli pomocí následujícího nastavení a potom démon Dockeru restartujte:
{ "ipv6": true, "fixed-cidr-v6": "fd00::/64" }
Toto nastavení můžete aktualizovat přímo v souboru daemon.json v instalační cestě Dockeru. Nastavení konfigurace démona můžete upravit přímo v Dockeru. Vyberte ikonu Docker a potom vyberte Předvolby>Démon>Upřesnit.
Poznámka
Doporučuje se upravovat démona přímo v Dockeru, protože umístění souboru daemon.json se může v jednotlivých počítačích lišit. Například ~/Library/Containers/com.docker.docker/Data/database/com.docker.driver.amd64-linux/etc/docker/daemon.json.
Tip
Při testování rozsáhlých aplikací doporučujeme zvýšit množství prostředků přidělených Dockeru. Můžete to provést tak, že vyberete ikonu Dockeru, pak vyberete Upřesnit a upravíte počet jader a velikost paměti.
Spusťte cluster.
Nejnovější:
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
Tip
Ve výchozím nastavení se tím přetáhne image s nejnovější verzí Service Fabric. Konkrétní revize najdete na stránce Service Fabric Onebox na Docker Hub.
Volitelné: Sestavte rozšířenou image Service Fabric.
V novém adresáři vytvořte soubor s názvem
Dockerfile
, který sestaví přizpůsobenou image:Poznámka
Výše uvedenou image můžete přizpůsobit pomocí souboru Dockerfile a přidat do kontejneru další programy nebo závislosti. Například přidáním
RUN apt-get install nodejs -y
se povolí podpora aplikacínodejs
jako spustitelných souborů typu Host.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"]
Tip
Ve výchozím nastavení se tím přetáhne image s nejnovější verzí Service Fabric. Konkrétní revize najdete na stránce Docker Hubu.
Pokud chcete sestavit opakovaně použitelnou image z
Dockerfile
, otevřete terminál a přejděte do adresáře, který obsahuje vaši image, acd
pak spusťteDockerfile
:docker build -t mysfcluster .
Poznámka
Tato operace nějakou dobu trvá, ale stačí ji provést jenom jednou.
Teď můžete rychle spustit místní kopii Service Fabric, kdykoli ji budete potřebovat, spuštěním příkazu:
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
Tip
Zadejte název instance kontejneru, aby s ní šlo pracovat srozumitelněji.
Pokud vaše aplikace naslouchá na konkrétních portech, musí se zadat pomocí dalších značek
-p
. Pokud například aplikace naslouchá na portu 8080, přidejte následující značku-p
:docker run -itd -p 19000:19000 -p 19080:19080 -p 8080:8080 --name sfonebox mcr.microsoft.com/service-fabric/onebox:u18
Spuštění clusteru bude chvíli trvat. Když je spuštěný, můžete zobrazit protokoly pomocí následujícího příkazu nebo přejít na řídicí panel a zobrazit stav clusterů:
http://localhost:19080
docker logs sftestcluster
K zastavení a vyčištění kontejneru použijte následující příkaz. Tento kontejner ale budeme používat v dalším kroku.
docker rm -f sftestcluster
Známá omezení
Následující seznam uvádí známá omezení pro místní cluster spuštěný v kontejneru pro Mac:
- Služba DNS se nespustí a v kontejneru se v současné době nepodporuje. Problém č. 132
- Spouštění aplikací založených na kontejnerech vyžaduje spuštění SF na hostiteli s Linuxem. Vnořené kontejnerové aplikace se v současné době nepodporují.
Nastavení Service Fabric CLI (sfctl) na počítači Mac
Pokud chcete nainstalovat Service Fabric CLI (sfctl
) na svém počítači Mac, postupujte podle pokynů v tématu Service Fabric CLI.
Příkazy rozhraní příkazového řádku podporují komunikaci s entitami Service Fabric, včetně clusterů, aplikací a služeb.
- Pokud se před nasazením aplikací chcete připojit ke clusteru, spusťte následující příkaz.
sfctl cluster select --endpoint http://localhost:19080
Vytvoření aplikace na počítači Mac pomocí Yeomana
Service Fabric nabízí nástroje pro generování uživatelského rozhraní, které vám pomůžou vytvořit aplikaci Service Fabric z terminálu pomocí generátoru šablon Yeoman. Postupujte podle následujících kroků, abyste zkontrolovali, že máte na svém počítači funkční generátor šablon Service Fabric Yeoman:
Na počítači Mac musí být nainstalované Node.js a Node Package Manager. Software jde nainstalovat pomocí HomeBrew, a to takto:
brew install node node -v npm -v
Nainstalujte na svůj počítač generátor šablon Yeoman ze Správce balíčků uzlu:
npm install -g yo
Nainstalujte generátor Yeoman, který preferujete, podle kroků v úvodní dokumentaci. Pokud chcete vytvářet aplikace Service Fabric pomocí Yeomana, postupujte podle těchto kroků:
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 nainstalování generátorů vytvořte spustitelné soubory hosta nebo služby kontejneru spuštěním příkazu
yo azuresfguest
neboyo azuresfcontainer
.K sestavení aplikace Service Fabric Java na počítači Mac musí být na hostitelském počítači nainstalovaná sada JDK verze 1.8 a Gradle. Software jde nainstalovat pomocí HomeBrew, a to takto:
brew update brew cask install java brew install gradle
Důležité
Aktuální verze nástroje
brew cask install java
mohou nainstalovat novější verzi sady JDK. Nezapomeňte nainstalovat sadu JDK 8.
Nasazení aplikace na počítači Mac z terminálu
Po vytvoření a sestavení aplikace Service Fabric ji můžete nasadit pomocí Service Fabric CLI:
Připojte se ke clusteru Service Fabric spuštěnému uvnitř instance kontejneru na vašem počítači Mac:
sfctl cluster select --endpoint http://localhost:19080
Z adresáře vašeho projektu spusťte instalační skript:
cd MyProject bash install.sh
Nastavení vývoje pro .NET Core 3.1
Pokud chcete začít vytvářet aplikace Service Fabric v jazyce C#, nainstalujte sadu .NET Core 3.1 SDK pro Mac. Balíčky pro aplikace .NET Core Service Fabric jsou hostované na NuGet.org.
Instalace modulu plug-in Service Fabric pro Eclipse na počítači Mac
Azure Service Fabric poskytuje modul plug-in pro Eclipse Neon (nebo novější) pro Java IDE. Tento modul plug-in zjednodušuje proces vytváření, sestavování a nasazování služeb Java. Pokud chcete nainstalovat nebo aktualizovat modul plug-in Service Fabric pro Eclipse na nejnovější verzi, postupujte podle těchto kroků. Ostatní kroky v dokumentaci Service Fabric pro Eclipse lze také použít: sestavit aplikaci, přidat službu do aplikace, odinstalovat aplikaci a podobně.
Posledním krokem je vytvoření instance kontejneru s cestu, která je sdílená s hostitelem. Modul plug-in vyžaduje tento typ vytváření instancí, aby pracoval s kontejnerem Dockeru na vašem počítači Mac. Například:
docker run -itd -p 19080:19080 -v /Users/sayantan/work/workspaces/mySFWorkspace:/tmp/mySFWorkspace --name sfonebox mcr.microsoft.com/service-fabric/onebox:latest
Atributy jsou definovány takto:
/Users/sayantan/work/workspaces/mySFWorkspace
je absolutní cestou pracovního prostoru na vašem počítači Mac./tmp/mySFWorkspace
je cestou v rámci kontejneru, kam má být namapovaný pracovní prostor.
Poznámka
Pokud pro pracovní prostor používáte jiný název nebo cestu, aktualizujte tyto hodnoty pomocí příkazu docker run
.
Pokud spouštíte kontejner s jiným názvem než sfonebox
, aktualizujte název v souboru testclient.sh ve vaší aplikaci Service Fabric Actor v Javě.
Další kroky
- Vytvoření a nasazení první aplikace Service Fabric v Javě v Linuxu pomocí Yeomana
- Vytvoření a nasazení první aplikace Service Fabric v Javě v Linuxu pomocí modulu plug-in Service Fabric pro Eclipse
- Vytvoření clusteru služby Service Fabric na webu Azure Portal
- Vytvoření clusteru služby Service Fabric pomocí Azure Resource Manageru
- Pochopení aplikačního modelu služby Service Fabric
- Správa aplikací pomocí Service Fabric CLI
- Příprava linuxového vývojového prostředí ve Windows