Ce document explique comment configurer et utiliser une stratégie de déploiement Canary.
Qu'est-ce qu'un déploiement Canary ?
Un déploiement Canary est un déploiement progressif d'une application qui répartit le trafic entre une version déjà déployée et une nouvelle version, en le déployant auprès d'un sous-ensemble d'utilisateurs avant de le déployer complètement.
Types de cibles acceptés
Le déploiement Canary dans Cloud Deploy est compatible avec tous les types de cibles, y compris les suivants:
- Google Kubernetes Engine
- Cloud Run (services uniquement, pas de tâches)
- GKE Enterprise
Canary fonctionne également avec des cibles multicibles.
Pourquoi utiliser une stratégie de déploiement Canary ?
Un déploiement Canary vous permet de publier partiellement votre application. De cette manière, vous pouvez vous assurer que la nouvelle version de votre application est fiable avant de la distribuer à tous les utilisateurs.
Par exemple, si vous effectuez un déploiement sur GKE ou GKE Enterprise, vous devez déployer la nouvelle version de votre application sur un nombre limité de pods. L'ancienne version continue de s'exécuter, mais une plus grande partie du trafic est envoyée aux nouveaux pods.
Si vous effectuez un déploiement sur Cloud Run, Cloud Run lui-même répartit le trafic entre l'ancienne et la nouvelle révision, en fonction des pourcentages que vous configurez.
Types de versions Canary
Cloud Deploy vous permet de configurer les types de déploiement Canary suivants:
Automatique
Dans le cas d'un déploiement Canary automatisé, vous configurez Cloud Deploy avec une série de pourcentages exprimant un déploiement progressif. Cloud Deploy effectue des opérations supplémentaires en votre nom afin de répartir les pourcentages de trafic entre l'ancienne et la nouvelle version.
Automatisation personnalisée
Pour une version Canary personnalisée, vous pouvez fournir les éléments suivants:
- Le nom de la phase
- L'objectif en pourcentage
- Profil Skaffold à utiliser pour la phase
- Inclure ou non une tâche de validation
Toutefois, vous n'avez pas besoin de fournir d'informations sur l'équilibrage du trafic. Cloud Deploy crée les ressources nécessaires, comme décrit ici.
Personnalisée
Avec une version Canary personnalisée, vous configurez chaque phase Canary séparément, y compris les éléments suivants:
- Le nom de la phase
- L'objectif en pourcentage
- Profil Skaffold à utiliser pour la phase
- Inclure ou non une tâche de validation
De plus, dans le cas d'une version Canary entièrement personnalisée, vous devez fournir toute la configuration de l'équilibrage du trafic, comme décrit ici.
Phases d'un déploiement Canary
Lorsque vous créez une version pour un déploiement Canary, le déploiement comporte une phase pour chaque incrément Canary, ainsi qu'une phase stable
finale pour 100%.
Par exemple, si vous configurez une version Canary pour des incréments de 25%, 50 % et 75 %, le déploiement se déroulera selon les phases suivantes:
canary-25
canary-50
canary-75
stable
Pour en savoir plus sur les phases de déploiement, les tâches et les exécutions de tâches, consultez la page Gérer les déploiements.
Que se passe-t-il dans le cadre d'une campagne Canary automatisée ou personnalisée ?
Pour faciliter votre déploiement Canary, Cloud Deploy inclut des étapes de traitement spéciales lors du rendu de votre fichier manifeste Kubernetes ou de la configuration du service Cloud Run:
GKE/Enterprise
Voici comment Cloud Deploy exécute un déploiement Canary dans GKE et GKE Enterprise basés sur le réseau:
Vous indiquez le nom de la ressource Déploiement et la ressource Service.
Cloud Deploy crée une ressource de déploiement supplémentaire, avec le nom de votre déploiement actuel suivi de
-canary
.Cloud Deploy modifie le service pour ajuster le sélecteur afin de sélectionner les pods du déploiement actuel et les pods Canary.
Cloud Deploy calcule le nombre de pods à utiliser pour la version Canary à partir du calcul décrit ici. Ce calcul diffère selon que vous activez ou désactivez le surprovisionnement des pods.
Si nous passons à la phase
stable
, Cloud Deploy ajoute les étiquettes à utiliser pour faire correspondre les pods, afin qu'elles soient disponibles pour les exécutions Canary ultérieures.Cloud Deploy crée un déploiement qui inclut le pourcentage de pods par phase, en le mettant à jour pour chaque phase. Pour ce faire, calculez le nombre de pods sous la forme d'un pourcentage du nombre de pods d'origine. Cela peut entraîner une répartition du trafic inexacte. Si vous avez besoin d'une répartition exacte du trafic, vous pouvez y parvenir à l'aide de l'API Gateway.
De plus, les Secrets et les ConfigMaps sont également copiés et renommés
-canary
.Au cours de la phase
stable
, le déploiement-canary
est réduit à zéro, et le déploiement d'origine est remplacé par le nouveau déploiement.Cloud Deploy ne modifie pas le déploiement d'origine avant la phase
stable
.
Cloud Deploy provisionne les pods pour atteindre le pourcentage Canary demandé aussi précisément que possible. Cette valeur est basée sur le nombre de pods, et non sur le trafic vers les pods. Si vous souhaitez que votre version Canary soit basée sur le trafic, vous devez utiliser l'API Gateway.
Pour la version Canary GKE basée sur le réseau, vous pouvez activer ou désactiver le surprovisionnement des pods. Les sections suivantes décrivent comment Cloud Deploy calcule le nombre de pods à provisionner pour le déploiement Canary pour chaque phase Canary.
Provisionnement de pods avec surprovisionnement activé
L'activation du surprovisionnement (disablePodOverprovisioning: false
) permet à Cloud Deploy de créer suffisamment de pods supplémentaires pour exécuter le pourcentage Canary souhaité, en fonction du nombre de pods exécutant votre déploiement existant. La formule suivante montre comment Cloud Deploy calcule le nombre de pods à provisionner pour le déploiement Canary pour chaque phase Canary, lorsque le surprovisionnement des pods est activé:
math.Ceil( percentage * ReplicaCountOfDeploymentOnCluster / (100-percentage))
Avec cette formule, le nombre d'instances répliquées actuel (le nombre de pods que vous avez déjà, avant cette version Canary) est multiplié par le pourcentage Canary pour la phase. Le résultat est divisé par (100 moins le pourcentage).
Par exemple, si vous disposez déjà de quatre pods et que la phase Canary est à 50%, le nombre de pods Canary est de 4. (Le résultat de 100-percentage
est utilisé sous forme de pourcentage: 100-50=50
, traité comme .50
.)
Le surprovisionnement des pods est le comportement par défaut.
Provisionnement de pods avec surprovisionnement désactivé
Vous pouvez désactiver le surprovisionnement (disablePodOverprovisioning: true
) pour vous assurer que Cloud Deploy n'augmente pas le nombre d'instances répliquées.
La formule suivante montre comment Cloud Deploy calcule le provisionnement des pods pour le déploiement Canary pour chaque phase Canary, lorsque le surprovisionnement des pods est désactivé:
math.Ceil( (ReplicaCountOfDeploymentOnCluster + ReplicaCountOfCanaryDeploymentOnCluster) * percentage)
Dans cette formule, ReplicaCountOfCanaryDeploymentOnCluster
n'existe que s'il existe déjà une phase Canary. S'il s'agit de la première phase Canary, il n'y a pas de ReplicaCountOfCanaryDeploymentOnCluster
.
Si vous commencez avec quatre pods, ce nombre est multiplié par le pourcentage Canary (par exemple, 50%, ou .5
) pour obtenir 2
. Le déploiement d'origine est donc maintenant réduit à 2, et deux pods sont créés pour le déploiement Canary. Si vous disposez alors d'une phase Canary de 75 %, vous disposez de 2
(déploiement d'origine) +2
(première étape Canary), *.75
, pour obtenir 3
pods Canary et 1
pod exécutant le déploiement d'origine.
Passerelle GKE/Enterprise
Voici comment Cloud Deploy exécute un déploiement Canary dans GKE et GKE Enterprise à l'aide de l'API Gateway:
En plus des références au déploiement et au service, vous fournissez une ressource HTTPRoute, avec une règle
backendRefs
qui référence le service.Cloud Deploy crée un déploiement, avec le nom de votre déploiement d'origine suivi
-canary
, et un nouveau service avec le nom de service d'origine suivi de-canary
.De plus, les secrets, les ConfigMaps et les autoscalers horizontaux de pods sont également copiés et renommés
-canary
.Pour chaque phase Canary, Cloud Deploy modifie la route HTTP afin de mettre à jour la pondération entre les pods du déploiement d'origine et les pods du déploiement Canary, en fonction du pourcentage obtenu pour cette phase.
En raison du délai de propagation des modifications aux ressources
HTTPRoute
, vous pouvez inclure la propriétérouteUpdateWaitTime
dans votre configuration afin que le système attende une durée spécifiée pour cette propagation.Pendant la phase
stable
, le déploiement-canary
est réduit à zéro, et le déploiement d'origine est mis à jour pour utiliser le déploiement de la nouvelle version.De plus, l'instance HTTPRoute d'origine est maintenant rétablie.
Cloud Deploy ne modifie pas le déploiement ou le service d'origine avant la phase
stable
.
Cloud Run
Voici comment Cloud Deploy exécute un déploiement Canary pour Cloud Run:
Pour un déploiement Canary sur Cloud Run, ne fournissez pas de stanza
traffic
dans le fichier YAML de votre service.Lors de la création d'un déploiement Canary, Cloud Deploy répartit le trafic entre la révision précédente qui a été déployée avec succès et une nouvelle révision.
Si vous souhaitez voir les différences entre les phases d'un déploiement Canary, vous pouvez afficher les modifications apportées dans le fichier manifeste affiché par phase, disponible dans l'inspecteur de versions. Vous pouvez le faire avant le début du déploiement. De plus, si vous utilisez le déploiement en parallèle, vous pouvez également inspecter le fichier manifeste rendu de chaque enfant.
Configurer un déploiement Canary
Cette section explique comment configurer votre pipeline de livraison et les cibles pour un déploiement Canary.
Les instructions ci-après concernent uniquement les aspects spécifiques à la configuration Canary. Le document Déployer votre application contient des instructions générales pour configurer et exécuter votre pipeline de déploiement.
Assurez-vous de disposer des autorisations requises
En plus des autres autorisations Identity and Access Management dont vous avez besoin pour utiliser Cloud Deploy, vous devez disposer des autorisations suivantes afin d'effectuer des actions supplémentaires qui peuvent être nécessaires pour un déploiement Canary:
clouddeploy.rollouts.advance
clouddeploy.rollouts.ignoreJob
clouddeploy.rollouts.cancel
clouddeploy.rollouts.retryJob
clouddeploy.jobRuns.get
clouddeploy.jobRuns.list
clouddeploy.jobRuns.terminate
Pour en savoir plus sur les rôles disponibles qui incluent ces autorisations, consultez la page Rôles et autorisations IAM.
Préparez votre skaffold.yaml
Comme pour un déploiement standard, votre version Canary a besoin d'un fichier skaffold.yaml
, qui définit la manière dont les fichiers manifestes et les définitions de service sont affichés et déployés.
Le skaffold.yaml
que vous créez pour un déploiement Canary ne présente aucune exigence particulière au-delà des requis pour un déploiement standard.
Préparer votre fichier manifeste ou la définition de votre service
Comme pour un déploiement standard, votre version Canary a besoin d'un fichier manifeste Kubernetes ou d'une définition de service Cloud Run.
GKE et GKE Enterprise
Pour la version Canary, le fichier manifeste doit contenir les éléments suivants:
Un déploiement et un service.
Le service doit définir un sélecteur
app
et sélectionner les pods du déploiement spécifié.Si vous utilisez une version Canary basée sur l'API Gateway, le fichier manifeste doit également avoir une HTTPRoute.
Cloud Run
Pour la version Canary sur Cloud Run, votre fichier de définition de service Cloud Run normal est suffisant, mais sans stanza traffic
. Cloud Deploy gère pour vous la répartition du trafic entre la dernière révision réussie et la nouvelle.
Configurer une version Canary automatisée
Les instructions suivantes concernent les cibles de mise en réseau basées sur les services Cloud Run, GKE et GKE Enterprise. Si vous utilisez l'API Kubernetes Gateway avec GKE ou GKE Enterprise, consultez cette documentation.
Vous configurez la version Canary automatisée dans la définition de votre pipeline de livraison:
GKE et GKE Enterprise
À l'étape du pipeline, incluez une propriété strategy
comme suit:
serialPipeline:
stages:
- targetId: prod
profiles: []
strategy:
canary:
runtimeConfig:
kubernetes:
serviceNetworking:
service: "SERVICE_NAME"
deployment: "DEPLOYMENT_NAME"
canaryDeployment:
percentages: [PERCENTAGES]
verify: true|false
Dans cette configuration...
SERVICE_NAME est le nom du service Kubernetes, défini dans votre fichier manifeste.
DEPLOYMENT_NAME est le nom de votre déploiement Kubernetes, défini dans votre fichier manifeste.
PERCENTAGES est une liste de valeurs de pourcentage séparées par une virgule représentant vos incréments Canary, par exemple
[5, 25, 50]
.Cela n'inclut pas non plus
100
, car un déploiement à 100% est supposé dans la version Canary et est géré par lastable
phase.Vous pouvez activer la validation du déploiement (
verify: true
). Le cas échéant, un jobverify
est activé à chaque phase.
Cloud Run
À l'étape du pipeline, incluez une propriété strategy
comme suit:
serialPipeline:
stages:
- targetId: prod
profiles: []
strategy:
canary:
runtimeConfig:
cloudRun:
automaticTrafficControl: true
canaryDeployment:
percentages: [PERCENTAGES]
verify: true|false
Dans cette configuration...
- PERCENTAGES est une liste de valeurs de pourcentage séparées par une virgule représentant vos incréments Canary, par exemple
[25, 50, 75]
. Notez que100
n'est pas inclus, car un déploiement à 100% est prévu dans la version Canary et géré par la phasestable
. - Vous pouvez activer la validation du déploiement (
verify: true
). Dans ce cas, un jobverify
est ajouté à chaque phase Canary.
Configurer une version Canary personnalisée
Vous pouvez configurer votre système Canary manuellement au lieu de vous fier entièrement à l'automatisation fournie par Cloud Deploy. Avec une configuration Canary personnalisée, vous spécifiez les éléments suivants dans la définition de votre pipeline de livraison:
Noms des phases de déploiement
Dans une version Canary entièrement automatisée, Cloud Deploy nomme les phases à votre place (par exemple,
canary-25
,canary-75
etstable
). Avec une version Canary personnalisée, vous pouvez attribuer n'importe quel nom à chaque phase, à condition qu'elle soit unique parmi toutes les phases de cette phase Canary et qu'elle respecte les restrictions concernant les noms de ressources. Cependant, le nom final de la phase (100%) doit êtrestable
.Objectifs en pourcentage pour chaque phase
Spécifiez les pourcentages séparément, par phase.
Profils Skaffold à utiliser pour la phase
Vous pouvez utiliser un profil Skaffold distinct pour chaque phase, le même profil ou n'importe quelle combinaison. Chaque profil peut utiliser un fichier manifeste Kubernetes ou une définition de service Cloud Run différente. Vous pouvez également utiliser plusieurs profils par phase. Cloud Deploy les combine.
Indique s'il existe une tâche de vérification pour la phase
N'oubliez pas que si vous activez la validation, vous devez également configure votre
skaffold.yaml
pour la validation.
Tous les types de cibles sont compatibles avec les versions Canary personnalisées.
Éléments de configuration Canary personnalisés
Le fichier YAML suivant montre la configuration des phases d'un déploiement Canary entièrement personnalisé:
strategy:
canary:
# Custom configuration for each canary phase
customCanaryDeployment:
phaseConfigs:
- phaseId: "PHASE1_NAME"
percentage: PERCENTAGE1
profiles: [ "PROFILE_NAME" ]
verify: true | false
- …
- phaseId: "stable"
percentage: 100
profiles: [ "LAST_PROFILE_NAME" ]
verify: true|false
Dans ce fichier YAML
PHASE1_NAME
Nom de la phase. Chaque nom de phase doit être unique.
[ "PROFILE_NAME" ]
Nom du profil à utiliser pour la phase. Vous pouvez utiliser le même profil pour chaque phase, un profil différent pour chacune ou n'importe quelle combinaison. Vous pouvez également spécifier plusieurs profils. Cloud Deploy utilise tous les profils que vous spécifiez, plus le profil ou le fichier manifeste utilisé par l'étape globale.
PERCENTAGE1
Pourcentage à déployer pour la première phase. Chaque phase doit avoir une valeur de pourcentage unique. Cette valeur doit correspondre à un pourcentage entier (et non
10.5
, par exemple) et les phases doivent être triées dans l'ordre croissant.verify: true|false
Indique à Cloud Deploy si une tâche de validation doit être incluse pour la phase. Notez que pour chaque phase à utiliser, Skaffold utilise le même profil de vérification que celui spécifié pour l'affichage et le déploiement pour cette phase.
stable
La phase finale doit être nommée
stable
.
Le pourcentage pour la dernière phase doit être 100
. Les phases sont exécutées dans l'ordre dans lequel vous les configurez dans cette section customCanaryDeployment
, mais si les valeurs de pourcentage ne sont pas dans l'ordre croissant, la commande d'enregistrement du pipeline de livraison échoue et génère une erreur.
Notez que la configuration d'un Canary personnalisé n'inclut pas de strophe runtimeConfig
. Si vous incluez runtimeConfig
, il est considéré comme une version Canary automatisée personnalisée.
Configurer une version Canary automatisée personnalisée
Une version Canary automatisée personnalisée est semblable à une version Canary personnalisée, car vous spécifiez les phases Canary distinctes, avec des noms de phase personnalisés, des valeurs de pourcentage, des profils Skaffold et des tâches de vérification. Toutefois, avec une version Canary personnalisée, vous ne fournissez pas les configurations qui définissent la répartition du trafic. Cloud Deploy le fait pour vous, mais vous fournissez toujours les profils Skaffold à utiliser à chaque étape.
Pour configurer une version Canary automatisée personnalisée, incluez un strophe runtimeConfig
, comme indiqué ici, et incluez le stanza customCanaryDeployment
, comme indiqué ici.
Configurer un déploiement Canary à l'aide du maillage de services de l'API Kubernetes Gateway
Bien que vous puissiez utiliser un déploiement Canary Cloud Deploy pour déployer votre application sur la mise en réseau basée sur les services Kubernetes, une autre solution consiste à utiliser le maillage de services de l'API Gateway de Kubernetes. Cette section décrit la procédure à suivre.
Vous pouvez utiliser l'API Gateway avec Istio ou toute implémentation compatible.
Configurez vos ressources API Gateway:
Notez qu'il s'agit uniquement d'exemples.
Dans le fichier manifeste Kubernetes fourni à Cloud Deploy lors de la création de la version, incluez les éléments suivants:
Un objet
HTTPRoute
qui fait référence à votre ressource de passerelleUn déploiement
Un service
Configurez votre pipeline de livraison et la cible sur laquelle vous effectuerez un déploiement Canary:
La configuration de la cible est identique à celle de toutes les cibles.
La configuration du pipeline de livraison, dans l'ordre de progression de la cible spécifique, inclut un bloc
gatewayServiceMesh
pour référencer la configurationHTTPRoute
de l'API Kubernetes Gateway, ainsi que votre déploiement et votre service.strategy: canary: runtimeConfig: kubernetes: gatewayServiceMesh: httpRoute: "ROUTE" service: "SERVICE" deployment: "DEPLOYMENT" routeUpdateWaitTime: "WAIT_TIME" canaryDeployment: percentages: - 50
Où...
ROUTE est votre configuration httpRoute qui définit le comportement de routage souhaité.
SERVICE est votre configuration de service, requise par Cloud Deploy pour les déploiements Canary sur GKE et GKE Enterprise.
DEPLOYMENT est votre configuration de déploiement, requise par Cloud Deploy pour les déploiements Canary sur GKE et GKE Enterprise.
WAIT_TIME est la durée pendant laquelle Cloud Deploy attend la fin de la propagation des modifications apportées à la ressource
HTTPRoute
afin d'éviter l'abandon des requêtes. Par exemple :routeUpdateWaitTime: 60s
.Si vous exécutez Canary à l'aide de l'API Gateway sans Istio et que cette API est connectée à un équilibreur de charge Google Cloud, une petite quantité de trafic peut être perdue lors du scaling à la baisse de l'instance Canary. Si vous observez ce comportement, vous pouvez configurer ce paramètre.
Utiliser le déploiement parallèle avec une stratégie de déploiement Canary
Vous pouvez exécuter un déploiement Canary à l'aide d'un déploiement en parallèle. Cela signifie que la cible sur laquelle vous effectuez un déploiement progressif peut comprendre au moins deux cibles enfants. Par exemple, vous pouvez les déployer progressivement sur des clusters de régions distinctes, en même temps.
Quelle est la différence entre un test Canary parallèle et une version Canary à cible unique ?
Comme pour le déploiement Canary à cible unique, si vous effectuez un déploiement sur des cibles GKE, vous devez disposer d'une configuration de déploiement Kubernetes et d'une configuration de service Kubernetes dans votre fichier manifeste.
Comme pour le déploiement Canary à cible unique, la configuration de votre pipeline de livraison doit inclure un strophe
strategy.canary
dans la définition de l'étape pour l'étape applicable.En outre, vous devez configurer une cible multicible et configurer les cibles enfants auxquelles elle fait référence.
Lorsque vous créez une version, un déploiement du contrôleur et les déploiements enfants sont créés.
Les deux types de déploiement (contrôleur et enfant) comportent des phases distinctes pour tous les pourcentages Canary configurés et une phase
stable
pour le déploiement Canary à 100%.Vous ne pouvez pas avancer un déploiement enfant.
Vous ne pouvez avancer que les déploiements de contrôleurs. Lorsque vous faites passer le déploiement du contrôleur à l'étape suivante, les déploiements enfants sont également avancés par Cloud Deploy.
Vous ne pouvez pas réessayer les tâches ayant échoué dans le déploiement du contrôleur.
Vous ne pouvez relancer une tâche que dans les déploiements enfants.
Vous ne pouvez pas ignore les tâches ayant échoué dans le déploiement du contrôleur.
Vous ne pouvez ignorer les jobs ayant échoué que dans les déploiements enfants.
Vous pouvez annuler un déploiement de contrôleur, mais vous ne pouvez pas annuler les déploiements enfants.
Vous ne pouvez arrêter l'exécution d'une tâche que dans le cadre d'un déploiement enfant, et non d'un déploiement de contrôleur.
Que faire si un déploiement parallèle échoue en version Canary ?
En cas d'échec d'un déploiement enfant, le déploiement du contrôleur peut passer à différents états, en fonction de ce qui se passe avec les déploiements enfants:
Si un ou plusieurs déploiements enfants échouent, mais qu'au moins un déploiement enfant est toujours à l'état
IN_PROGRESS
, le déploiement du contrôleur resteIN_PROGRESS
.Si un ou plusieurs déploiements enfants échouent, mais qu'au moins un déploiement enfant réussit, le déploiement du contrôleur est
HALTED
s'il existe plusieurs phases après l'exécution actuelle.S'il s'agit de la phase
stable
, le déploiement du contrôleur estFAILED
.HALTED
vous permet d'ignore, de retenter les tâches ayant échoué dans le déploiement enfant ayant échoué ou d'annuler le déploiement du contrôleur et d'empêcher d'autres actions sur les déploiements enfants.Si le déploiement du contrôleur est à l'état
HALTED
en raison d'un échec du déploiement enfant et que vous ignorez la tâche ayant échoué dans le déploiement enfant, l'état du déploiement du contrôleur revient à l'étatIN_PROGRESS
.
Exécuter la version Canary configurée
Pour exécuter le déploiement Canary:
Enregistrez le pipeline de livraison et les cibles configurés.
gcloud deploy apply --file=PIPELINE
Le pipeline de livraison inclut la configuration Canary automatisée ou personnalisée, pour l'environnement d'exécution de votre choix.
Cette commande suppose que vos cibles sont définies dans le même fichier ou ont déjà été enregistrées. Si ce n'est pas le cas, veillez également à enregistrer vos cibles.
Créez une version:
gcloud deploy releases create RELEASE_NAME \ --delivery-pipeline=PIPELINE_NAME \ --region=REGION
Le pipeline de livraison identifié par
PIPELINE_NAME
contient la configuration Canary automatisée ou personnalisée décrite dans ce document.Avancez dans la version Canary:
gcloud CLI
gcloud deploy rollouts advance ROLLOUT_NAME \ --release=RELEASE_NAME \ --delivery-pipeline=PIPELINE_NAME \ --region=REGION
Où :
ROLLOUT_NAME
est le nom du déploiement en cours que vous passez à la phase suivante.RELEASE_NAME
est le nom de la version à laquelle fait partie ce déploiement.PIPELINE_NAME
est le nom du pipeline de livraison que vous utilisez pour gérer le déploiement de cette version.REGION
est le nom de la région dans laquelle la version a été créée, par exempleus-central1
. Ce champ est obligatoire.Pour en savoir plus sur la commande
gcloud deploy rollouts advance
, consultez la documentation de référence de Google Cloud SDK.Console Google Cloud
Cliquez sur le pipeline affiché dans la liste des pipelines de livraison.
La page "Détails du pipeline de livraison" affiche une représentation graphique de la progression de votre pipeline.
Dans l'onglet Déploiements, sous Détails du pipeline de livraison, cliquez sur le nom de votre déploiement.
La page d'informations de ce déploiement s'affiche.
Notez que dans cet exemple, le déploiement comporte une phase
canary-50
et une phasestable
. Votre déploiement peut comporter plusieurs phases ou différentes phases.Cliquez sur Avancer le déploiement.
Le déploiement passe à la phase suivante.
Phases ignorées
Si vous déployez une version Canary et que votre application n'a pas encore été déployée dans cet environnement d'exécution, Cloud Deploy ignore la phase Canary et exécute la phase stable. Pour en savoir plus, consultez la section Ignorer des phases la première fois.
Étapes suivantes
Consultez le guide de démarrage rapide du déploiement Canary.
Découvrez comment gérer le cycle de vie des déploiements Canary.
Obtenez plus d'informations sur le déploiement en parallèle.