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

Översikt

Utför följande steg för att distribuera ett nytt program:

  1. Ladda upp ett programpaket till Service Fabric-avbildningsarkivet.
  2. Etablera en programtyp.
  3. Ta bort avbildningsarkivets innehåll.
  4. Ange och skapa ett program.
  5. Ange och skapa tjänster.

Om du vill ta bort ett befintligt program utför du följande steg:

  1. Ta bort programmet.
  2. 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 --show-progress alternativet 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å den katalog 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 programmet:

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

Om du vill kontrollera att allt är felfritt använder du 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 HealthStateOk.

Ta bort ett befintligt program

Om du vill ta bort ett program utför du följande uppgifter:

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. Med en Service Fabric-programuppgradering kan du sedan ö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 angivna uppsättningen. 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 angetts tidigare 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.

Nästa steg