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 VMware Code Stream 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 VMware Code Stream 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.

Tableau 1. Tâches de l'étape de développement pour le déploiement Bleu-vert
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.
Tableau 2. Tâches de l'étape de production pour le déploiement Bleu-vert
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 VMware Code Stream 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 Code Stream 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 VMware Code Stream 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 Code Stream avant d'utiliser le modèle de pipeline intelligent.

Procédure

  1. Cliquez sur Pipelines > Nouveau pipeline > Modèle intelligent > Modèle CICD.
  2. Entrez les informations concernant la partie CI du modèle de pipeline intelligent CICD, puis cliquez sur Suivant .
  3. Renseignez la partie CD du modèle de pipeline intelligent.
    1. Sélectionnez les environnements pour le déploiement de votre application. Par exemple, Dév et Prod.
    2. Sélectionnez le service que le pipeline utilisera pour le déploiement.
    3. Dans la zone Déploiement, sélectionnez le point de terminaison du cluster pour les environnements Dév et Prod.
    4. Pour le modèle de déploiement Production, sélectionnez Bleu-vert , puis cliquez sur Créer.

    Sélection du déploiement Bleu-vert dans le modèle de pipeline intelligent CICD.

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. 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: codestream-82855
  namespace: codestream-82855

Code YAML pour créer un exemple de service :

apiVersion: v1
kind: Service
metadata:
  labels:
    app: codestream-demo
  name: codestream-demo
  namespace: bluegreen-799584
spec:
  minReadySeconds: 0
  ports:
  - port: 80
  selector:
    app: codestream-demo
    tier: frontend
  type: LoadBalancer

Code YAML pour créer un exemple de déploiement :

apiVersion: extensions/v1
kind: Deployment
metadata:
  labels:
    app: codestream-demo
  name: codestream-demo
  namespace: bluegreen-799584
spec:
  minReadySeconds: 0
  replicas: 1
  selector:
    matchLabels:
      app: codestream-demo
      tier: frontend
  template:
    metadata:
      labels:
        app: codestream-demo
        tier: frontend
    spec:
      containers:
      - image: ${input.image}:${input.tag}
        name: codestream-demo
        ports:
        - containerPort: 80
          name: codestream-demo
      imagePullSecrets:
      - name: jfrog-2
      minReadySeconds: 0

Que faire ensuite

Pour plus d'informations sur l'utilisation de VMware Code Stream, reportez-vous à la section Didacticiels d'utilisation de VMware Code Stream.

Pour restaurer un déploiement, reportez-vous à la section Restauration d'un déploiement dans VMware Code Stream.

Pour obtenir des références supplémentaires, reportez-vous à la section Plus de ressources pour les administrateurs et les développeurs VMware Code Stream.