jobs.deployment.strategy.canary definíció
A Canary üzembehelyezési stratégiája a kiszolgálók egy kis részhalmazára hajtja végre a módosításokat.
canary:
increments: [ string ] # Maximum batch size for deployment.
preDeploy: # Pre deploy hook for canary deployment strategy.
steps: [ task | script | powershell | pwsh | bash | checkout | download | downloadBuild | getPackage | publish | template | reviewApp ] # A list of steps to run.
pool: string | pool # Pool where pre deploy steps will run.
deploy: # Deploy hook for canary deployment strategy.
steps: [ task | script | powershell | pwsh | bash | checkout | download | downloadBuild | getPackage | publish | template | reviewApp ] # A list of steps to run.
pool: string | pool # Pool where deploy steps will run.
routeTraffic: # Route traffic hook for canary deployment strategy.
steps: [ task | script | powershell | pwsh | bash | checkout | download | downloadBuild | getPackage | publish | template | reviewApp ] # A list of steps to run.
pool: string | pool # Pool where route traffic steps will run.
postRouteTraffic: # Post route traffic hook for canary deployment strategy.
steps: [ task | script | powershell | pwsh | bash | checkout | download | downloadBuild | getPackage | publish | template | reviewApp ] # A list of steps to run.
pool: string | pool # Pool where post route traffic steps will run.
on: # On success or failure hook for canary deployment strategy.
failure: # Runs on failure of any step.
steps: [ task | script | powershell | pwsh | bash | checkout | download | downloadBuild | getPackage | publish | template | reviewApp ] # A list of steps to run.
pool: string | pool # Pool where post on failure steps will run.
success: # Runs on success of all of the steps.
steps: [ task | script | powershell | pwsh | bash | checkout | download | downloadBuild | getPackage | publish | template | reviewApp ] # A list of steps to run.
pool: string | pool # Pool where on success steps will run.
A definícióra hivatkozó definíciók: jobs.deployment.strategy
increments
sztringlista.
Az üzembe helyezés maximális kötegmérete.
preDeploy
preDeployHook.
Üzembe helyezési horog a kanári üzembehelyezési stratégiához.
deploy
deployHook.
A hook üzembe helyezése a kanári üzembehelyezési stratégiájához.
routeTraffic
routeTrafficHook.
Forgalomhook irányítása a kanári üzembehelyezési stratégiájához.
postRouteTraffic
postRouteTrafficHook.
Post route traffic hook for canary deployment strategy..
on
onSuccessOrFailureHook.
A kanári-telepítési stratégia sikeres vagy sikertelen üzembehelyezési horogján.
A Canary üzembehelyezési stratégia egy speciális üzembehelyezési stratégia, amely segít csökkenteni az alkalmazások új verzióinak bevezetésében jelentkező kockázatokat. Ezzel a stratégiával először a kiszolgálók egy kis részhalmazára alkalmazhatja a módosításokat. Az új verzióba vetett nagyobb bizalommal az infrastruktúra több kiszolgálójára is kiadhatja, és nagyobb forgalmat irányíthat hozzá.
A Canary üzembehelyezési stratégiája támogatja az preDeploy
életciklus-horgot (egyszer hajtja végre), és iterál a deploy
, routeTraffic
és postRouteTraffic
életciklus horgokkal. Ezután kilép a vagy failure
a success
horoggal.
Ebben a stratégiában a következő változók érhetők el:
strategy.name
: A stratégia neve. Például: kanári.
strategy.action
: A Kubernetes-fürtön végrehajtandó művelet. Üzembe helyezés, előléptetés vagy elutasítás.
strategy.increment
: Az aktuális interakcióban használt növekményérték. Ez a változó csak deploy
a , routeTraffic
és postRouteTraffic
életciklus-horgokban érhető el.
preDeploy
: Az erőforrások inicializálására szolgáló lépések futtatására szolgál az alkalmazás üzembe helyezése előtt.
deploy
: Az alkalmazást üzembe helyező lépések futtatására szolgál. Az összetevő-feladat letöltése csak az deploy
üzembehelyezési feladatok horogjában lesz automatikusan beszúrva. Az összetevők letöltésének leállításához használja - download: none
vagy válassza ki a letölteni kívánt összetevőket a Folyamatösszetevő letöltése feladat megadásával.
routeTraffic
: A frissített verzió forgalmát kiszolgáló lépések futtatására szolgál.
postRouteTraffic
: A forgalom irányítása után futtatja a lépéseket. Ezek a feladatok általában meghatározott időközönként figyelik a frissített verzió állapotát.
on: failure
vagy on: success
: A visszaállítási műveletek vagy a törlés lépéseinek futtatására szolgál.
Az alábbi példában az AKS kanári-stratégiája először 10 százalék podokkal, majd 20 százalékkal helyezi üzembe a módosításokat, miközben figyeli az állapotot a során postRouteTraffic
. Ha minden jól megy, 100%-ra fog előléptetni.
jobs:
- deployment:
environment: smarthotel-dev.bookings
pool:
name: smarthotel-devPool
strategy:
canary:
increments: [10,20]
preDeploy:
steps:
- script: initialize, cleanup....
deploy:
steps:
- script: echo deploy updates...
- task: KubernetesManifest@0
inputs:
action: $(strategy.action)
namespace: 'default'
strategy: $(strategy.name)
percentage: $(strategy.increment)
manifests: 'manifest.yml'
postRouteTraffic:
pool: server
steps:
- script: echo monitor application health...
on:
failure:
steps:
- script: echo clean-up, rollback...
success:
steps:
- script: echo checks passed, notify...