Bleu-vert est un modèle de déploiement qui utilise deux hôtes Docker que vous déployez et configurez de la même manière dans un cluster Kubernetes. Avec le modèle de déploiement Bleu-vert, vous réduisez le temps d'arrêt susceptible de se produire dans votre environnement lorsque vos pipelines dans Automation Pipelines déploient vos applications.
Les instances Bleu et Vert de votre modèle de déploiement servent chacune un objectif différent. Une seule instance à la fois accepte le trafic en direct déployant votre application, et chaque instance accepte ce trafic à des moments spécifiques. L'instance Bleu reçoit la première version de votre application et l'instance Vert en reçoit la seconde.
L'équilibrage de charge dans votre environnement Bleu-vert détermine quelle voie emprunte le trafic en direct lors du déploiement de votre application. En utilisant le modèle Bleu-vert, votre environnement reste opérationnel, les utilisateurs ne remarquent aucun temps d'arrêt, et votre pipeline intègre et déploie continuellement votre application dans votre environnement de production.
Le pipeline que vous créez dans Automation Pipelines représente votre modèle de déploiement Bleu-vert en deux étapes. Une étape est consacrée au développement, l'autre étape à la production.
L'espace de travail de pipeline Automation Pipelines prend en charge Docker et Kubernetes pour les tâches d'intégration continue et les tâches personnalisées.
Pour plus d'informations sur la configuration de l'espace de travail, consultez Configuration de l'espace de travail de pipeline.
Type de tâche | Tâche |
---|---|
Kubernetes | Créez un espace de noms pour votre déploiement Bleu-vert. |
Kubernetes | Créez une clé secrète pour Docker Hub. |
Kubernetes | Créez le service utilisé pour déployer l'application. |
Kubernetes | Créez le déploiement Bleu. |
Interrogation | Vérifiez le déploiement Bleu. |
Kubernetes | Supprimez l'espace de noms. |
Type de tâche | Tâche |
---|---|
Kubernetes | Vert obtient les détails de service de Bleu. |
Kubernetes | Obtenez les détails du jeu de réplicas Vert. |
Kubernetes | Créez le déploiement Vert et utilisez la clé secrète pour extraire l'image de conteneur. |
Kubernetes | Mettez le service à jour. |
Interrogation | Vérifiez que le déploiement a réussi sur l'URL de production. |
Kubernetes | Terminez le déploiement Bleu. |
Kubernetes | Supprimez le déploiement Bleu. |
Pour déployer l'application de votre propre modèle de déploiement Bleu-vert, vous créez un pipeline dans Automation Pipelines qui inclut deux étapes. La première étape inclut les tâches Bleu qui déploient votre application sur l'instance Bleu, et la seconde inclut des tâches Vert qui déploient votre application sur l'instance Vert.
Vous pouvez créer votre pipeline à l'aide du modèle de pipeline intelligent CICD. Le modèle crée les étapes et tâches de votre pipeline pour vous, et inclut les sélections de déploiement.
Si vous créez votre pipeline manuellement, vous devez planifier vos étapes de pipeline. Par exemple, reportez-vous à la section Planification d'une build native CICD dans Automation Pipelines avant d'ajouter des tâches manuellement.
Dans cet exemple, vous utilisez le modèle de pipeline intelligent CICD pour créer votre pipeline Bleu-vert.
Conditions préalables
- Vérifiez que vous pouvez accéder à un cluster Kubernetes opérationnel sur AWS.
- Vérifiez que vous avez configuré un environnement de déploiement Bleu-vert et configuré vos instances Bleu et Vert pour qu'elles soient identiques.
- Créez un point de terminaison Kubernetes dans Automation Pipelines qui déploie votre image d'application sur le cluster Kubernetes sur AWS.
- Familiarisez-vous avec l'utilisation du modèle de pipeline intelligent CICD. Reportez-vous à la section Planification d'une build native CICD dans Automation Pipelines avant d'utiliser le modèle de pipeline intelligent.
Procédure
Résultats
Félicitations ! Vous avez utilisé le modèle de pipeline intelligent pour créer un pipeline qui déploie votre application sur vos instances Bleu-vert dans votre cluster de production Kubernetes sur AWS.
Exemple : Exemple de code YAML pour certaines tâches de déploiement Bleu-vert
Le code YAML qui s'affiche dans les tâches de pipeline Kubernetes correspondant à votre déploiement Bleu-vert peut ressembler aux exemples suivants qui créent l'espace de noms, le service et le déploiement. Si vous devez télécharger une image à partir d'un référentiel privé, le fichier YAML doit inclure une section avec le secret de configuration Docker. Reportez-vous à la partie CD de la section Planification d'une build native CICD dans Automation Pipelines avant d'utiliser le modèle de pipeline intelligent.
Une fois que le modèle de pipeline intelligent a créé votre pipeline, vous pouvez, si nécessaire, modifier les tâches de votre propre déploiement.
Code YAML pour créer un exemple d'espace de noms :
apiVersion: v1 kind: Namespace metadata: name: pipelines-82855 namespace: pipelines-82855
Code YAML pour créer un exemple de service :
apiVersion: v1 kind: Service metadata: labels: app: pipelines-demo name: pipelines-demo namespace: bluegreen-799584 spec: minReadySeconds: 0 ports: - port: 80 selector: app: pipelines-demo tier: frontend type: LoadBalancer
Code YAML pour créer un exemple de déploiement :
apiVersion: extensions/v1 kind: Deployment metadata: labels: app: pipelines-demo name: pipelines-demo namespace: bluegreen-799584 spec: minReadySeconds: 0 replicas: 1 selector: matchLabels: app: pipelines-demo tier: frontend template: metadata: labels: app: pipelines-demo tier: frontend spec: containers: - image: ${input.image}:${input.tag} name: pipelines-demo ports: - containerPort: 80 name: pipelines-demo imagePullSecrets: - name: jfrog-2 minReadySeconds: 0
Que faire ensuite
Pour plus d'informations sur l'utilisation de Automation Pipelines, reportez-vous à la section Didacticiels d'utilisation de Automation Pipelines.
Pour restaurer un déploiement, reportez-vous à la section Restauration d'un déploiement dans Automation Pipelines.
Pour plus d'informations, reportez-vous aux ressources supplémentaires sous Prise en main de VMware Aria Automation.