Vous configurez la restauration sous la forme d'un pipeline avec des tâches qui rétablissent votre déploiement à un état stable antérieur suite à un échec dans un pipeline de déploiement. Vous associez le pipeline de restauration aux tâches ou aux étapes que vous souhaitez restaurer en cas d'échec.

Les raisons d'effectuer une restauration varient en fonction de votre rôle.

  • En tant qu'ingénieur en publication, je souhaite que VMware Code Stream s'assure de la réussite d'un pipeline lors de la publication, afin que je puisse décider, en connaissance de cause, de la poursuite de la publication ou de son annulation. Les échecs possibles incluent l'échec d'une tâche, un rejet dans UserOps et le dépassement du seuil des mesures.
  • En tant que propriétaire d'environnements, je souhaite redéployer une version précédente afin de pouvoir rapidement rétablir l'état de fonctionnement optimal d'un environnement.
  • En tant que propriétaire d'environnements, je souhaite être en mesure d'annuler un déploiement Bleu-vert afin de pouvoir réduire les interruptions de service causées par les versions ayant échoué.

Lorsque vous utilisez un modèle intelligent pour créer un pipeline CD tandis que l'option de restauration est activée, la restauration est automatiquement ajoutée aux tâches du pipeline. Dans ce cas d'utilisation, vous utiliserez le modèle intelligent pour définir la restauration d'un déploiement d'application vers un cluster Kubernetes à l'aide du modèle de déploiement de mise à niveau propagée. Le modèle intelligent crée un pipeline de déploiement, et un ou plusieurs pipelines de restauration.

  • Dans le pipeline de déploiement, la restauration est requise en cas d'échec des tâches Mettre à jour le déploiement ou Vérifier le déploiement.
  • Dans le pipeline de restauration, le déploiement est mis à jour avec une ancienne image.

Vous pouvez également créer manuellement un pipeline de restauration à l'aide d'un modèle vide. Avant de créer un pipeline de restauration, vous devez planifier votre flux de restauration. Pour plus d'informations de base sur la restauration, reportez-vous à la section Planification de la restauration dans VMware Code Stream.

Conditions préalables

  • Assurez-vous d'être membre d'un projet dans VMware Code Stream. Si ce n'est pas le cas, demandez à un administrateur de VMware Code Stream de vous ajouter en tant que membre d'un projet. Reportez-vous à la section Ajout d'un projet dans VMware Code Stream.
  • Configurez les clusters Kubernetes sur lesquels votre pipeline déploiera votre application. Configurez un cluster de développement et un cluster de production.
  • Créez le développement Kubernetes et les points de terminaison de production qui déploient votre image d'application sur les clusters Kubernetes.
  • Vérifiez que vous disposez d'une configuration de registre Docker.
  • Vérifiez que vous disposez d'un fichier YAML Kubernetes à appliquer au déploiement.
  • Familiarisez-vous avec le modèle intelligent CD. Reportez-vous à la section Planification d'une build native CD dans VMware Code Stream avant d'utiliser le modèle intelligent.

Procédure

  1. Cliquez sur Pipelines > Nouveau pipeline > Modèle intelligent > Livraison continue.
  2. Entrez les informations dans le modèle intelligent.
    1. Sélectionnez un projet.
    2. Entrez un nom de pipeline comme MiseÀniveauPropagée-Exemple.
    3. Sélectionnez les environnements de votre application. Pour ajouter une restauration à votre déploiement, vous devez sélectionner Prod.
    4. Cliquez sur Sélectionner, choisissez un fichier YAML Kubernetes et cliquez sur Processus.
      Le modèle intelligent affiche les services et les environnements de déploiement disponibles.
    5. Sélectionnez le service que le pipeline utilisera pour le déploiement.
    6. Sélectionnez les points de terminaison du cluster pour les environnements Dév et Prod.
    7. Pour la source Image, sélectionnez Entrée d'exécution du pipeline.
    8. Pour le modèle de déploiement, sélectionnez Mise à niveau propagée.
    9. Cliquez sur Restaurer.
    10. Fournissez l'URL de contrôle de l'intégrité.
    Créer un pipeline de restauration
  3. Pour créer le pipeline nommé MiseÀniveauRestauration-Exemple, cliquez sur Créer.

    Le pipeline MiseÀniveauRestauration-Exemple s'affiche, accompagné de l'icône de restauration sur les tâches des étapes de développement et de production qui peuvent être restaurées.

    Pipeline MiseÀniveauRestauration-Exemple

  4. Fermez le pipeline.

    Sur la page Pipelines, vous pouvez observer la présence du pipeline que vous avez créé et d'un nouveau pipeline pour chaque étape de votre pipeline.

    • MiseÀniveauPropagée-Exemple. Le pipeline que vous avez créé est désactivé par défaut afin que vous n'ayez d'autre choix que de l'examiner avant de l'exécuter.
    • MiseÀniveauPropagée-Exemple_Dév_Restauration. Ce pipeline de développement par restauration est appelé en cas d'échec de tâches lors de l'étape de développement, telles que Créer un service, Créer un secret, Créer un déploiement et Vérifier le déploiement. Le pipeline de développement par restauration est activé par défaut pour garantir la restauration des tâches de développement.
    • MiseÀniveauPropagée-Exemple_Prod_Restauration. Ce pipeline de production par restauration est appelé en cas d'échec de tâches lors de l'étape de production, telles que Déployer la phase 1, Vérifier la phase 1, Déployer la phase de lancement, Terminer la phase de lancement, Vérifier la phase de lancement. Le pipeline de production par restauration est activé par défaut pour garantir la restauration des tâches de production.
    Pipelines restauration_prod et restauration_dév maîtres
  5. Activez et exécutez le pipeline que vous avez créé.
    Lorsque vous démarrez l'exécution, vous êtes invité à saisir des paramètres d'entrée. Vous indiquez l'image et la balise correspondant au point de terminaison du référentiel Docker que vous utilisez.
  6. Sur la page Exécutions, sélectionnez Actions > Afficher l'exécution pour surveiller l'exécution du pipeline.

    L'opération RUNNING du pipeline commence et les différentes tâches de l'étape de développement sont effectuées une à une. Si le pipeline ne parvient pas à exécuter une tâche pendant l'étape de développement, le pipeline nommé MiseÀniveauPropagée-Exemple_Dév_Restauration est déclenché pour restaurer le déploiement et l'état du pipeline est redéfini sur ROLLING_BACK.

    Restauration

    Après restauration, la page Exécutions répertorie deux exécutions de pipeline MiseÀniveauPropagée-Exemple.

    • Le pipeline créé qui a été restauré indique ROLLBACK_COMPLETED.
    • Le pipeline de développement par restauration qui a été déclenché pour effectuer la restauration indique COMPLETED.

    Pipelines exécutés après restauration

Résultats

Félicitations ! Vous avez défini un pipeline avec restauration et VMware Code Stream a restauré le pipeline au niveau du point d'échec.