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:

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:

  1. 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.

  2. 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.

  3. 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, a cd pak spusťte Dockerfile :

    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

  4. 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
    
  5. 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.

  1. 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:

  1. 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
    
  2. Nainstalujte na svůj počítač generátor šablon Yeoman ze Správce balíčků uzlu:

    npm install -g yo
    
  3. 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
    
  4. Po nainstalování generátorů vytvořte spustitelné soubory hosta nebo služby kontejneru spuštěním příkazu yo azuresfguest nebo yo azuresfcontainer.

  5. 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:

  1. 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
    
  2. 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