definice jobs.deployment.strategy.canary
Strategie nasazení kanárů zavádět změny na malé podmnožině serverů.
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.
Definice, které odkazují na tuto definici: jobs.deployment.strategy
Vlastnosti
increments
seznam řetězců.
Maximální velikost dávky pro nasazení
preDeploy
preDeployHook.
Háček před nasazením pro strategii nasazení kanárů
deploy
deployHook.
Nasazení háku pro strategii nasazení kanárů
routeTraffic
routeTrafficHook.
Háček směrování provozu pro strategii nasazení kanárů
postRouteTraffic
postRouteTrafficHook.
Háček provozu po směrování pro strategii nasazení kanárů
on
onSuccessOrFailureHook.
Při úspěšné nebo neúspěšné strategii nasazení kanárů.
Poznámky
Strategie nasazení Canary je pokročilá strategie nasazení, která pomáhá zmírnit rizika spojená se zaváděním nových verzí aplikací. Pomocí této strategie můžete nejprve zavést změny na malé podmnožině serverů. Jakmile získáte větší důvěru v novou verzi, můžete ji uvolnit na více serverech ve vaší infrastruktuře a směrovat na ni větší provoz.
Strategie nasazení Canary podporuje preDeploy
háček životního cyklu (provádí se jednou) a iteruje s deploy
háky životního cyklu , routeTraffic
a postRouteTraffic
. Pak se ukončí pomocí háku success
nebo failure
háku.
V této strategii jsou k dispozici následující proměnné:
strategy.name
: Název strategie. Například kanárek.
strategy.action
: Akce, která se má provést v clusteru Kubernetes. Například nasazení, zvýšení úrovně nebo odmítnutí.
strategy.increment
: Hodnota inkrementu použitá v aktuální interakci. Tato proměnná je k dispozici pouze v deploy
hácích životního cyklu , routeTraffic
a postRouteTraffic
.
Popisy háčků životního cyklu
preDeploy
: Slouží ke spuštění kroků, které inicializují prostředky před spuštěním nasazení aplikace.
deploy
: Slouží ke spuštění kroků, které nasadí vaši aplikaci. Úloha stažení artefaktu se automaticky vloží jenom do háku deploy
pro úlohy nasazení. Pokud chcete zastavit stahování artefaktů, použijte - download: none
nebo zvolte konkrétní artefakty ke stažení zadáním úlohy Stáhnout artefakt kanálu.
routeTraffic
: Slouží ke spuštění kroků, které obsluhují provoz do aktualizované verze.
postRouteTraffic
: Slouží ke spuštění kroků po směrování provozu. Tyto úlohy obvykle monitorují stav aktualizované verze po definovaný interval.
on: failure
nebo on: success
: Slouží ke spuštění kroků pro akce vrácení zpět nebo vyčištění.
Příklady
V následujícím příkladu kanárské strategie pro AKS nejprve nasadí změny s 10 procenty podů, následované 20 procenty, při monitorování stavu během postRouteTraffic
. Pokud vše půjde dobře, zvýší se na 100 procent.
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...