Megosztás a következőn keresztül:


A Docker Compose üzembehelyezési támogatása az Azure Service Fabricben

A Docker a docker-compose.yml fájlt használja a többtárolós alkalmazások definiáláshoz. Annak érdekében, hogy a Dockert ismerő ügyfelek könnyebben vezényelhessenek meglévő tárolóalkalmazásokat az Azure Service Fabricen, előzetes verzióban támogattuk a Docker Compose natív üzembe helyezését a platformon. A Service Fabric elfogadhatja a docker-compose.yml fájlok 3. és újabb verzióját.

Mivel ez a támogatás előzetes verzióban érhető el, a Compose-irányelveknek csak egy részhalmaza támogatott.

Az előzetes verzió használatához hozza létre a fürtöt a Service Fabric-futtatókörnyezet 5.7-es vagy újabb verziójával az Azure Portalon a megfelelő SDK-val együtt.

Feljegyzés

Ez a funkció előzetes verzióban érhető el, és éles környezetben nem támogatott. Az alábbi példák a futtatókörnyezet 6.0-s és 2.8-os verzióján alapulnak.

Docker Compose-fájl üzembe helyezése a Service Fabricben

Az alábbi parancsok létrehoznak egy Service Fabric-alkalmazást (neve), fabric:/TestContainerAppamelyet bármely más Service Fabric-alkalmazáshoz hasonlóan figyelhet és kezelhet. Az állapot-lekérdezésekhez használhatja a megadott alkalmazásnevet. A Service Fabric a "DeploymentName" azonosítót ismeri fel a Compose-telepítés azonosítójaként.

A PowerShell használata

Hozzon létre egy Service Fabric Compose-üzembe helyezést egy docker-compose.yml fájlból a következő parancs futtatásával a PowerShellben:

New-ServiceFabricComposeDeployment -DeploymentName TestContainerApp -Compose docker-compose.yml [-RegistryUserName <>] [-RegistryPassword <>] [-PasswordEncrypted]

RegistryUserName és RegistryPassword tekintse meg a tárolóregisztrációs adatbázis felhasználónevét és jelszavát. Az üzembe helyezés befejezése után az alábbi paranccsal ellenőrizheti annak állapotát:

Get-ServiceFabricComposeDeploymentStatus -DeploymentName TestContainerApp

A Compose-telepítés PowerShellen keresztüli törléséhez használja a következő parancsot:

Remove-ServiceFabricComposeDeployment  -DeploymentName TestContainerApp

A Compose központi telepítés frissítésének a PowerShellen keresztüli elindításához használja a következő parancsot:

Start-ServiceFabricComposeDeploymentUpgrade -DeploymentName TestContainerApp -Compose docker-compose-v2.yml -Monitored -FailureAction Rollback

A Compose üzembehelyezési frissítés PowerShell-lel való visszaállításához használja a következő parancsot:

Start-ServiceFabricComposeDeploymentRollback -DeploymentName TestContainerApp

A frissítés elfogadása után a frissítés előrehaladása a következő paranccsal követhető nyomon:

Get-ServiceFabricComposeDeploymentUpgrade -DeploymentName TestContainerApp

Az Azure Service Fabric CLI (sfctl) használata

Másik lehetőségként használhatja a következő Service Fabric CLI-parancsot:

sfctl compose create --deployment-name TestContainerApp --file-path docker-compose.yml [ [ --user --encrypted-pass ] | [ --user --has-pass ] ] [ --timeout ]

Az üzembe helyezés létrehozása után az alábbi paranccsal ellenőrizheti annak állapotát:

sfctl compose status --deployment-name TestContainerApp [ --timeout ]

A Compose-telepítés törléséhez használja a következő parancsot:

sfctl compose remove  --deployment-name TestContainerApp [ --timeout ]

A Compose központi telepítési frissítésének elindításához használja a következő parancsot:

sfctl compose upgrade --deployment-name TestContainerApp --file-path docker-compose-v2.yml [ [ --user --encrypted-pass ] | [ --user --has-pass ] ] [--upgrade-mode Monitored] [--failure-action Rollback] [ --timeout ]

A Compose központi telepítés frissítésének visszaállításához használja a következő parancsot:

sfctl compose upgrade-rollback --deployment-name TestContainerApp [ --timeout ]

A frissítés elfogadása után a frissítés előrehaladása a következő paranccsal követhető nyomon:

sfctl compose upgrade-status --deployment-name TestContainerApp

Támogatott compose-irányelvek

Ez az előzetes verzió támogatja a 3. compose-verzió konfigurációs beállításainak egy részét, beleértve a következő primitíveket:

  • Szolgáltatások > Replikák üzembe helyezése >
  • Szolgáltatások > – Elhelyezési korlátozások üzembe helyezése > >
  • Szolgáltatások > – Erőforrásokra > vonatkozó korlátozások üzembe helyezése >
    • -cpu-megosztások
    • -emlékezet
    • -memória felcserélése
  • Szolgáltatások parancsai >
  • Szolgáltatási > környezet
  • Szolgáltatási > portok
  • Szolgáltatások > rendszerképe
  • Szolgáltatások > elkülönítése (csak Windows esetén)
  • Szolgáltatások > naplózási > illesztőprogramja
  • Szolgáltatások > naplózási > illesztőprogram-beállításai >
  • Kötet > Kötet üzembe helyezése >

Állítsa be a fürtöt az erőforráskorlátok kikényszerítéséhez a Service Fabric erőforrás-szabályozásában leírtak szerint. Ebben az előzetes verzióban az összes többi Docker Compose-direktíva nem támogatott.

Portok szakasz

Adja meg a Service Fabric szolgáltatásfigyelő által használni kívánt http- vagy https protokollt a Portok szakaszban. Ez biztosítja, hogy a végpontprotokoll megfelelően legyen közzétéve az elnevezési szolgáltatással, hogy a fordított proxy továbbíthassa a kéréseket:

  • A nem biztonságos Service Fabric Compose-szolgáltatásokhoz való átirányításhoz adja meg a /http értéket. Például: "80:80/http".
  • A Service Fabric Compose-szolgáltatások biztonságossá tételéhez adja meg a /https értéket. Például: "443:443/https".

Feljegyzés

A /http és /https Portok szakasz szintaxisa a Service Fabricre vonatkozik a Megfelelő Service Fabric-figyelő URL-címének regisztrálásához. Ha a Docker-írási fájl szintaxisa programozott módon van érvényesítve, az érvényesítési hibát okozhat.

ServiceDnsName számítás

Ha a Compose-fájlban megadott szolgáltatásnév teljes tartománynév (azaz pont [.]), akkor a Service Fabric <ServiceName> által regisztrált DNS-név (a ponttal együtt). Ha nem, az alkalmazásnév minden elérési útszakasza tartománycímké válik a szolgáltatás DNS-ében, és az első elérésiút-szegmens lesz a legfelső szintű tartománycímke.

Ha például a megadott alkalmazásnév, fabric:/SampleApp/MyComposeApp<ServiceName>.MyComposeApp.SampleApp akkor a regisztrált DNS-név lenne.

Üzembe helyezés (példánydefiníció) és Service Fabric-alkalmazásmodell (típusdefiníció) összeállítása

A docker-compose.yml-fájlok a tárolók üzembe helyezhető készletét ismertetik, beleértve azok tulajdonságait és konfigurációit. A fájl tartalmazhat például környezeti változókat és portokat. Az üzembehelyezési paramétereket, például az elhelyezési korlátozásokat, az erőforráskorlátokat és a DNS-neveket is megadhatja a docker-compose.yml fájlban.

A Service Fabric-alkalmazásmodell szolgáltatástípusokat és alkalmazástípusokat használ, ahol számos azonos típusú alkalmazáspéldányt használhat. Ügyfélenként például egy alkalmazáspéldányt használhat. Ez a típusalapú modell ugyanazon alkalmazástípus több verzióját is támogatja, amely a futtatókörnyezetben van regisztrálva.

Például az A ügyfél rendelkezhet egy appTypeA 1.0-s típusával példányosított alkalmazással, a B ügyfél pedig egy másik alkalmazás példányosított példányával ugyanazzal a típussal és verzióval. Az alkalmazásjegyzékekben definiálhatja az alkalmazástípusokat, és az alkalmazás létrehozásakor meg kell adnia az alkalmazás nevét és üzembehelyezési paramétereit.

Bár ez a modell rugalmasságot kínál, egy egyszerűbb, példányalapú üzemi modellt is tervezünk támogatni, ahol a típusok implicitek a jegyzékfájlból. Ebben a modellben minden alkalmazás saját, független jegyzékfájlt kap. Ezt az erőfeszítést a példányalapú üzembe helyezési formátum, a docker-compose.yml támogatásának hozzáadásával tekintjük meg.

Következő lépések