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 une 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 sous la forme d'un 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 l'utilise pour déployer votre charge de travail à chaque fois.

  • Si vous avez déjà un fichier YAML définissant votre charge de travail, vous pouvez diriger GKE vers 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 correctement la charge de travail appropriée.

Avant de commencer

Avant de commencer, effectuez les tâches suivantes :

Configurez les paramètres gcloud par défaut à l'aide de l'une des méthodes suivantes :

  • Utilisez gcloud init pour suivre les instructions permettant de définir les paramètres par défaut.
  • Utilisez gcloud config pour définir individuellement l'ID, la zone et la région de votre projet.

Utiliser gcloud init

Si le message d'erreur One of [--zone, --region] must be supplied: Please specify location s'affiche, effectuez les tâches ci-dessous.

  1. Exécutez gcloud init et suivez les instructions :

    gcloud init

    Si vous utilisez SSH sur un serveur distant, utilisez l'option --console-only pour empêcher la commande d'ouvrir un navigateur :

    gcloud init --console-only
  2. Suivez les instructions pour autoriser gcloud à utiliser votre compte Google Cloud.
  3. Créez ou sélectionnez une configuration.
  4. Choisissez un projet Google Cloud.
  5. Choisissez une zone Compute Engine par défaut.

Utiliser gcloud config

  • Définissez votre ID de projet par défaut :
    gcloud config set project project-id
  • Si vous travaillez avec des clusters zonaux, définissez votre zone de calcul par défaut :
    gcloud config set compute/zone compute-zone
  • Si vous utilisez des clusters régionaux, définissez votre région de calcul par défaut :
    gcloud config set compute/region compute-region
  • Mettez à jour gcloud vers la dernière version :
    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 Container Registry, dans le même projet Google Cloud que votre cluster GKE. L'image doit se trouver dans Container 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

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

  1. Accédez au menu "Charges de travail" dans Google Cloud Console.

    Accéder au menu Charges de travail

  2. Cliquez sur le nom de la charge de travail que vous souhaitez déployer.

    La page "Informations sur le déploiement" s'affiche pour la charge de travail.

  3. Cliquez sur le menu Actions, puis sélectionnez Déploiement automatisé.

    L'écran "Configurer le déploiement automatisé" s'affiche.

  4. Sélectionnez le dépôt contenant votre code source pour créer cette charge de travail.

    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 charge de travail.

  5. Cliquez sur "Continuer", puis 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. Indiquez le répertoire de votre fichier Dockerfile en fonction de la racine du dépôt.

    3. Indiquez le nom de votre fichier Dockerfile contenant vos informations de compilation.

  6. Cliquez sur Continuer.

  7. Indiquez l'emplacement du fichier de configuration YAML.

    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 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 répertoire dans lequel se trouve le fichier YAML en fonction de la racine de votre dépôt.

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

  8. 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.

Et ensuite ?

Après avoir configuré un déploiement automatisé pour la charge de travail sélectionnée, vous disposez d'un déclencheur Cloud Build qui crée une image de conteneur après un push vers la branche sélectionnée du dépôt. Cloud Build déploie aussi 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").