Dela via


Distribuera acceleratorn fjärrövervakningslösning lokalt – Docker

Den här artikeln visar hur du distribuerar acceleratorn fjärrövervakningslösning till din lokala dator för testning och utveckling. Du lär dig hur du distribuerar mikrotjänster till lokala Docker-containrar. En lokal mikrotjänstdistribution använder följande molntjänster: IoT Hub, Cosmos DB, Azure Streaming Analytics och Azure Time Series Insights tjänster i molnet.

Om du vill köra acceleratorn Fjärrövervakningslösning i en IDE på den lokala datorn läser du Distribuera acceleratorn fjärrövervakningslösning lokalt – Visual Studio.

Förutsättningar

Om du vill distribuera De Azure-tjänster som används av acceleratorn fjärrövervakningslösning behöver du en aktiv Azure-prenumeration.

Om du inte har något konto kan du skapa ett kostnadsfritt utvärderingskonto på bara några minuter. Mer information om den kostnadsfria utvärderingsversionen av Azure finns Kostnadsfri utvärderingsversion av Azure.

Datorinstallation

För att slutföra den lokala distributionen behöver du följande verktyg installerade på den lokala utvecklingsdatorn:

  • Git
  • Docker
  • Visual Studio – om du planerar att göra ändringar i mikrotjänsterna.
  • Node.js v8 – den här programvaran är en förutsättning för PCS CLI som skripten använder för att skapa Azure-resurser. Använd inte Node.js v10.

Anteckning

Dessa verktyg är tillgängliga på många plattformar, inklusive Windows, Linux och iOS.

Ladda ned källkoden

Lagringsplatserna för källkod för fjärrövervakning innehåller källkoden och de Docker-konfigurationsfiler som du behöver för att köra Docker-avbildningarna för mikrotjänster.

Om du vill klona och skapa en lokal version av lagringsplatsen använder du kommandoradsmiljön för att navigera till en lämplig mapp på den lokala datorn. Kör sedan någon av följande uppsättningar kommandon för att klona antingen .NET-lagringsplatsen:

Om du vill ladda ned den senaste versionen av .NET-mikrotjänstimplementeringarna kör du:

git clone --recurse-submodules https://github.com/Azure/azure-iot-pcs-remote-monitoring-dotnet.git

# To retrieve the latest submodules, run the following command:

cd azure-iot-pcs-remote-monitoring-dotnet
git submodule foreach git pull origin master

Anteckning

Dessa kommandon laddar ned källkoden för alla mikrotjänster utöver de skript som du använder för att köra mikrotjänsterna lokalt. Även om du inte behöver källkoden för att köra mikrotjänsterna i Docker är källkoden användbar om du senare planerar att ändra lösningsacceleratorn och testa ändringarna lokalt.

Distribuera Azure-tjänsterna

Även om den här artikeln visar hur du kör mikrotjänsterna lokalt är de beroende av Azure-tjänster som körs i molnet. Använd följande skript för att distribuera Azure-tjänsterna. Följande skriptexempel förutsätter att du använder .NET-lagringsplatsen på en Windows dator. Om du arbetar i en annan miljö justerar du sökvägarna, filnamnstilläggen och sökvägsavgränsarna på rätt sätt.

Skapa nya Azure-resurser

Om du inte har skapat de Nödvändiga Azure-resurserna än följer du dessa steg:

  1. I kommandoradsmiljön navigerar du till mappen \services\scripts\local\launch i den klonade kopian av lagringsplatsen.

  2. Kör följande kommandon för att installera CLI-verktyget pcs och logga in på ditt Azure-konto:

    npm install -g iot-solutions
    pcs login
    
  3. Kör start.cmd-skriptet . Skriptet uppmanar dig att ange följande information:

    • Ett lösningsnamn.

    • Den Azure-prenumeration som ska användas.

    • Platsen för det Azure-datacenter som ska användas.

      Skriptet skapar en resursgrupp i Azure med ditt lösningsnamn. Den här resursgruppen innehåller de Azure-resurser som lösningsacceleratorn använder. Du kan ta bort den här resursgruppen när du inte längre behöver motsvarande resurser.

      Skriptet lägger också till en uppsättning miljövariabler med prefixet PCS till den lokala datorn. Dessa miljövariabler innehåller information om fjärrövervakning för att kunna läsa från en Azure-Key Vault resurs. I den här Key Vault resursen läser fjärrövervakningen sina konfigurationsvärden från.

      Tips

      När skriptet har slutförts sparas även miljövariablerna i en fil som heter <din hemmapp>\.pcs\<solution name.env>. Du kan använda dem för framtida distributioner av lösningsacceleratorer. Observera att alla miljövariabler som anges på den lokala datorn åsidosätter värden i filen services\scripts\local\.env när du kör docker-compose.

  4. Avsluta kommandoradsmiljön.

Använda befintliga Azure-resurser

Om du redan har skapat nödvändiga Azure-resurser skapar du motsvarande miljövariabler på den lokala datorn. Ange miljövariablerna för följande:

  • PCS_KEYVAULT_NAME – Namnet på Azure Key Vault-resursen
  • PCS_AAD_APPID – program-ID för AAD
  • PCS_AAD_APPSECRET – den AAD programhemligheten

Konfigurationsvärden läse från den här Azure Key Vault-resursen. Dessa miljövariabler kan sparas i <filen home folder>\.pcs\<solution name.env> från distributionen. Observera att miljövariabler som anges på den lokala datorn åsidosätter värden i filen services\scripts\local\.env när du kör docker-compose.

En del av den konfiguration som krävs av mikrotjänsten lagras i en instans av Key Vault som skapades vid den första distributionen. Motsvarande variabler i nyckelvalvet bör ändras efter behov.

Köra mikrotjänsterna i Docker

Öppna en ny kommandotolk för att se till att ha åtkomst till miljövariablerna som anges av skriptet start.cmd . På Windows kan du kontrollera att miljövariablerna har angetts genom att köra följande kommando:

set PCS

Kommandot visar alla miljövariabler som anges av start.cmd-skriptet .

Kontrollera att Docker körs på den lokala datorn.

Anteckning

Docker måste köra Linux-containrar om det körs på Windows.

Mikrotjänsterna som körs i de lokala Docker-containrarna måste ha åtkomst till Azure-molntjänsterna. Du kan testa Internetanslutningen för Docker-miljön med hjälp av följande kommando för att pinga en Internetadress inifrån en container:

docker run --rm -ti library/alpine ping google.com

Om du vill köra lösningsacceleratorn går du till mappen services\scripts\local i kommandoradsmiljön och kör följande kommando:

docker-compose up

Anteckning

Se till att du delar en lokal enhet med Docker innan du kör docker-compose up.

Första gången du kör det här kommandot laddar Docker ned mikrotjänstbilderna från Docker Hub för att skapa containrarna lokalt. Vid följande körningar kör Docker containrarna omedelbart.

Tips

Microsoft publicerar ofta nya Docker-avbildningar med nya funktioner. Du kan använda följande uppsättning kommandon för att rensa dina lokala Docker-containrar och motsvarande avbildningar innan du hämtar de senaste:

docker list
docker rm <list_of_containers>
docker rmi <list_of_images>

Du kan använda ett separat gränssnitt för att visa loggarna från containern. Leta först upp container-ID:t med kommandot docker ps . Använd docker logs {container-id} --tail 1000 sedan för att visa de senaste 1 000 posterna för den angivna containern.

Starta Stream Analytics-jobbet

Följ dessa steg för att starta Stream Analytics-jobbet:

  1. Gå till Azure Portal.
  2. Gå till resursgruppen som skapats för din lösning. Namnet på resursgruppen är det namn som du valde för din lösning när du körde skriptet start.cmd .
  3. Klicka på Stream Analytics-jobbet i listan över resurser.
  4. På översiktssidan för Stream Analytics-jobbet klickar du på knappen Starta. Klicka sedan på Start för att starta jobbet nu.

Anslut till instrumentpanelen

Om du vill komma åt instrumentpanelen för fjärrövervakningslösningen går du till https://localhost:8080 i webbläsaren. Nu kan du använda webbgränssnittet och de lokala mikrotjänsterna.

Rensa

För att undvika onödiga avgifter tar du bort molntjänsterna från din Azure-prenumeration när du är klar med testningen. Om du vill ta bort tjänsterna navigerar du till Azure Portal och tar bort resursgruppen som start.cmd-skriptet skapade.

docker-compose down --rmi all Använd kommandot för att ta bort Docker-avbildningarna och frigöra utrymme på den lokala datorn. Du kan också ta bort den lokala kopian av lagringsplatsen Fjärrövervakning som skapades när du klonade källkoden från GitHub.

Nästa steg

Nu när du har distribuerat fjärrövervakningslösningen är nästa steg att utforska funktionerna i instrumentpanelen för lösningen.