Hantera ett Azure Service Fabric-program med hjälp av Azure Service Fabric CLI (sfctl)
Lär dig hur du skapar och tar bort program som körs i ett Azure Service Fabric-kluster.
Förutsättningar
Installera Service Fabric CLI. Välj sedan ditt Service Fabric-kluster. Mer information finns i Komma igång med Service Fabric CLI.
Ha ett Service Fabric-programpaket redo att distribueras. Mer information om hur du skapar och paketar ett program finns i Om Service Fabric-programmodellen.
Översikt
Utför följande steg för att distribuera ett nytt program:
- Ladda upp ett programpaket till Service Fabric-avbildningsarkivet.
- Etablera en programtyp.
- Ta bort innehållet i avbildningsarkivet.
- Ange och skapa ett program.
- Ange och skapa tjänster.
Utför följande steg för att ta bort ett befintligt program:
- Ta bort programmet.
- Avetablera den associerade programtypen.
Distribuera ett nytt program
Utför följande uppgifter för att distribuera ett nytt program:
Ladda upp ett nytt programpaket till avbildningsarkivet
Innan du skapar ett program laddar du upp programpaketet till Service Fabric-avbildningsarkivet.
Om programpaketet till exempel finns i app_package_dir
katalogen använder du följande kommandon för att ladda upp katalogen:
sfctl application upload --path ~/app_package_dir
För stora programpaket kan du ange alternativet --show-progress
för att visa förloppet för uppladdningen.
Etablera programtypen
När uppladdningen är klar etablerar du programmet. Om du vill etablera programmet använder du följande kommando:
sfctl application provision --application-type-build-path app_package_dir
Värdet för application-type-build-path
är namnet på katalogen där du laddade upp programpaketet.
Ta bort programpaketet
Vi rekommenderar att du tar bort programpaketet när programmet har registrerats. Om du tar bort programpaket från avbildningsarkivet frigörs systemresurser. Att behålla oanvända programpaket förbrukar disklagring och leder till problem med programprestanda.
Om du vill ta bort programpaketet från avbildningsarkivet använder du följande kommando:
sfctl store delete --content-path app_package_dir
content-path
måste vara namnet på den katalog som du laddade upp när du skapade programmet.
Skapa ett program från en programtyp
När du har etablerat programmet använder du följande kommando för att namnge och skapa ditt program:
sfctl application create --app-name fabric:/TestApp --app-type TestAppType --app-version 1.0
app-name
är det namn som du vill använda för programinstansen. Du kan hämta ytterligare parametrar från det tidigare etablerade programmanifestet.
Programnamnet måste börja med prefixet fabric:/
.
Skapa tjänster för det nya programmet
När du har skapat ett program skapar du tjänster från programmet. I följande exempel skapar vi en ny tillståndslös tjänst från vårt program. De tjänster som du kan skapa från ett program definieras i ett tjänstmanifest i det tidigare etablerade programpaketet.
sfctl service create --app-id TestApp --name fabric:/TestApp/TestSvc --service-type TestServiceType \
--stateless --instance-count 1 --singleton-scheme
Verifiera programdistribution och hälsotillstånd
Kontrollera att allt är felfritt genom att använda följande hälsokommandon:
sfctl application list
sfctl service list --application-id TestApp
Kontrollera att tjänsten är felfri genom att använda liknande kommandon för att hämta hälsotillståndet för både tjänsten och programmet:
sfctl application health --application-id TestApp
sfctl service health --service-id TestApp/TestSvc
Felfria tjänster och program har värdet HealthState
Ok
.
Ta bort ett befintligt program
Slutför följande uppgifter för att ta bort ett program:
Ta bort programmet
Om du vill ta bort programmet använder du följande kommando:
sfctl application delete --application-id TestEdApp
Avetablera programtypen
När du har tagit bort programmet kan du avetablera programtypen om du inte längre behöver den. Om du vill avetablera programtypen använder du följande kommando:
sfctl application unprovision --application-type-name TestAppType --application-type-version 1.0
Typnamnet och typversionen måste matcha namnet och versionen i det tidigare etablerade programmanifestet.
Uppgradera program
När du har skapat programmet kan du upprepa samma uppsättning steg för att etablera en andra version av programmet. Sedan kan du med en Service Fabric-programuppgradering övergå till att köra den andra versionen av programmet. Mer information finns i dokumentationen om Service Fabric-programuppgraderingar.
Om du vill utföra en uppgradering etablerar du först nästa version av programmet med samma kommandon som tidigare:
sfctl application upload --path ~/app_package_dir_2
sfctl application provision --application-type-build-path app_package_dir_2
sfctl store delete --content-path app_package_dir_2
Vi rekommenderar sedan att du utför en övervakad automatisk uppgradering, startar uppgraderingen genom att köra följande kommando:
sfctl application upgrade --app-id TestApp --app-version 2.0.0 --parameters "{\"test\":\"value\"}" --mode Monitored
Uppgraderingar åsidosätter befintliga parametrar med den uppsättning som anges. Programparametrar ska skickas som argument till uppgraderingskommandot om det behövs. Programparametrar ska kodas som ett JSON-objekt.
Om du vill hämta parametrar som tidigare angetts kan du använda sfctl application info
kommandot .
När en programuppgradering pågår kan statusen hämtas med kommandot sfctl application upgrade-status
.
Om en uppgradering pågår och måste avbrytas kan du slutligen använda sfctl application upgrade-rollback
för att återställa uppgraderingen.