Configurer des déploiements automatisés


Vous pouvez configurer des déploiements autorisés pour vos charges de travail sur Google Kubernetes Engine (GKE).

Cette page explique comment configurer un pipeline simple d'intégration et de livraison continues (CI/CD) pour la charge de travail. Lorsque vous exécutez une modification dans le dépôt, Cloud Build crée et déploie automatiquement le conteneur sur votre cluster GKE.

Fonctionnement d'un déploiement automatisé

Si votre charge de travail fait référence à une image de conteneur unique dans GKE, vous pouvez configurer un déploiement automatisé de sorte que votre application soit recréée et déployée chaque fois qu'une modification du code est vérifiée dans le dépôt.

Avec un déploiement automatisé, vous définissez votre charge de travail en tant que fichier YAML et stockez ce fichier YAML dans votre dépôt (conformément aux bonnes pratiques). GKE génère un fichier YAML que vous pouvez utiliser dans ce but.

Vous disposez des deux options suivantes pour utiliser des fichiers YAML :

  • Si vous ne disposez pas encore d'un fichier YAML définissant votre charge de travail, vous pouvez utiliser le fichier YAML généré. Enregistrez le fichier YAML dans votre dépôt. Cloud Build va l'utiliser pour déployer votre charge de travail à chaque fois.

  • Si vous disposez déjà d'un fichier YAML définissant votre charge de travail, vous pouvez indiquer à GKE son emplacement dans votre dépôt. Vous pouvez comparer le fichier YAML de votre dépôt avec le fichier YAML recommandé pour vous assurer que vous déployez de manière adéquate la charge de travail appropriée.

Avant de commencer

Avant de commencer, effectuez les tâches suivantes :

  • Activez l'API Google Kubernetes Engine.
  • Activer l'API Google Kubernetes Engine
  • Si vous souhaitez utiliser Google Cloud CLI pour cette tâche, installez puis initialisez gcloud CLI. Si vous avez déjà installé gcloud CLI, assurez-vous de disposer de la dernière version en exécutant la commande gcloud components update.

Conditions requises

Les déploiements automatisés sont soumis aux exigences suivantes :

  • Vous ne pouvez utiliser un déploiement automatisé qu'avec des charges de travail de type Deployment, qui spécifient une image de conteneur unique. Les charges de travail à conteneurs multiples et les autres types de charges de travail (par exemple, ReplicaSet) ne sont pas compatibles.

  • Votre dépôt de code source doit contenir un fichier Dockerfile pour créer l'image.

    Vous pouvez héberger ce dépôt dans l'un des produits suivants :

    Si vous utilisez GitHub ou Bitbucket, vous devez autoriser Google Cloud à accéder à votre dépôt.

  • Stockez votre image de conteneur dans Artifact Registry, dans le même projet Google Cloud que votre cluster GKE. L'image doit se trouver dans Artifact Registry et vous devez l'avoir déployée au moins une fois, de manière à avoir une charge de travail dans GKE.

Créer le déploiement automatisé

Pour créer un déploiement automatisé, procédez comme suit :

  1. Accédez à la page Charges de travail dans la console Google Cloud.

    Accéder à la page Charges de travail

  2. Dans la liste des charges de travail, cliquez sur le nom du déploiement que vous souhaitez modifier.

  3. Cliquez sur Actions > Déploiement automatisé.

Dans le volet Automatiser le déploiement, procédez comme suit :

  1. Sous Dépôt source, sélectionnez votre dépôt de code source :

    1. Dans la liste déroulante Fournisseur de dépôts, sélectionnez le fournisseur de votre dépôt.

      Un déploiement automatisé est compatible avec les hôtes de contrôle source suivants :

      • Cloud Source Repositories
      • GitHub
      • Bitbucket

        Si vous utilisez GitHub ou Bitbucket, authentifiez-vous avec votre nom d'utilisateur et votre mot de passe.

    2. Dans la liste déroulante Dépôt, sélectionnez le nom du dépôt contenant le code source de votre déploiement.

    3. Cliquez sur Continuer.

  2. Sous Configurations de compilation, spécifiez les informations de configuration de la compilation :

    1. Saisissez le nom de la branche à partir de laquelle vous souhaitez effectuer la création, ou bien une expression régulière (RegExp2) correspondant à la ou aux branches. La branche par défaut est master. Lorsque vous exécutez le déploiement sur cette branche, Cloud Build crée votre application.
    2. Saisissez le chemin relatif du répertoire Dockerfile.
    3. Saisissez le nom du fichier Dockerfile.

    4. Cliquez sur Continuer.

  3. Sous Configuration de déploiement automatisé, indiquez l'emplacement du fichier YAML de configuration.

    Le système génère automatiquement un fichier YAML, que vous pouvez utiliser pour renseigner le fichier YAML dans votre dépôt.

    1. Cliquez sur Consulter le fichier YAML recommandé par Google pour afficher le fichier YAML généré.

    2. Comparez-le à votre propre fichier YAML, si vous en possédez un, et mettez à jour le vôtre en fonction de celui-ci.

      Sinon, créez un nouveau fichier et renseignez-le avec le fichier YAML généré. Cela permet de s'assurer que la charge de travail déployée correspond à ce qui est en cours d'exécution. Le fichier peut porter n'importe quel nom, mais doit comporter une extension .yaml ou .yml.

    3. Indiquez le chemin relatif du répertoire contenant le fichier YAML.

      S'il existe plusieurs fichiers YAML dans le répertoire spécifié, GKE les utilise tous.

  4. Cliquez sur Configurer pour terminer la configuration de votre déploiement automatisé.

    Vous pouvez être invité à accorder des autorisations au compte de service Cloud Build. Cette autorisation est requise.

Conséquences :

Une fois que vous avez configuré le déploiement automatisé pour la charge de travail sélectionnée, vous disposez d'un déclencheur Cloud Build qui génère une image de conteneur après un déploiement vers la branche sélectionnée du dépôt. Cloud Build déploie une nouvelle révision de votre charge de travail vers le cluster sur lequel l'image d'origine a été déployée.

Pour plus d'informations sur votre charge de travail, consultez la page "Informations sur le déploiement" (dans l'onglet "Historique des révisions").