Chargement...
Aucun résultat.

    07

    Getting Started with Google Kubernetes Engine - Français

    Get access to 700+ labs and courses

    Utiliser Cloud Build

    Atelier 1 heure universal_currency_alt 5 crédits show_chart Débutant
    info Cet atelier peut intégrer des outils d'IA pour vous accompagner dans votre apprentissage.
    Get access to 700+ labs and courses

    Présentation

    Dans cet atelier, vous allez créer une image de conteneur Docker à partir du code fourni et d'un Dockerfile en utilisant Cloud Build. Vous importerez ensuite ce conteneur dans Artifact Registry.

    Objectifs

    Dans cet atelier, vous allez apprendre à effectuer les tâches suivantes :

    • Utiliser Cloud Build pour concevoir et transférer des conteneurs
    • Stocker et déployer les conteneurs avec Artifact Registry

    Mettre en place l'atelier

    Accéder à l'atelier

    Pour chaque atelier, nous vous attribuons un nouveau projet Google Cloud et un nouvel ensemble de ressources pour une durée déterminée, sans frais.

    1. Cliquez sur le bouton Démarrer l'atelier. Si l'atelier est payant, un pop-up s'affiche pour vous permettre de sélectionner un mode de paiement. Sur la gauche, vous trouverez le panneau Détails concernant l'atelier, qui contient les éléments suivants :

      • Le bouton Ouvrir la console Google Cloud
      • Le temps restant
      • Les identifiants temporaires que vous devez utiliser pour cet atelier
      • Des informations complémentaires vous permettant d'effectuer l'atelier
    2. Cliquez sur Ouvrir la console Google Cloud (ou effectuez un clic droit et sélectionnez Ouvrir le lien dans la fenêtre de navigation privée si vous utilisez le navigateur Chrome).

      L'atelier lance les ressources, puis ouvre la page Se connecter dans un nouvel onglet.

      Conseil : Réorganisez les onglets dans des fenêtres distinctes, placées côte à côte.

      Remarque : Si la boîte de dialogue Sélectionner un compte s'affiche, cliquez sur Utiliser un autre compte.
    3. Si nécessaire, copiez le nom d'utilisateur ci-dessous et collez-le dans la boîte de dialogue Se connecter.

      {{{user_0.username | "Username"}}}

      Vous trouverez également le nom d'utilisateur dans le panneau Détails concernant l'atelier.

    4. Cliquez sur Suivant.

    5. Copiez le mot de passe ci-dessous et collez-le dans la boîte de dialogue Bienvenue.

      {{{user_0.password | "Password"}}}

      Vous trouverez également le mot de passe dans le panneau Détails concernant l'atelier.

    6. Cliquez sur Suivant.

      Important : Vous devez utiliser les identifiants fournis pour l'atelier. Ne saisissez pas ceux de votre compte Google Cloud. Remarque : Si vous utilisez votre propre compte Google Cloud pour cet atelier, des frais supplémentaires peuvent vous être facturés.
    7. Accédez aux pages suivantes :

      • Acceptez les conditions d'utilisation.
      • N'ajoutez pas d'options de récupération ni d'authentification à deux facteurs (ce compte est temporaire).
      • Ne vous inscrivez pas à des essais sans frais.

    Après quelques instants, la console Cloud s'ouvre dans cet onglet.

    Remarque : Pour afficher un menu contenant la liste des produits et services Google Cloud, cliquez sur le menu de navigation en haut à gauche, ou saisissez le nom du service ou du produit dans le champ Recherche.

    Une fois la connexion initiale effectuée, le tableau de bord du projet s'affiche.

    Activer Google Cloud Shell

    Google Cloud Shell est une machine virtuelle qui contient de nombreux outils pour les développeurs. Elle comprend un répertoire d'accueil persistant de 5 Go et s'exécute sur Google Cloud.

    Google Cloud Shell vous permet d'accéder à vos ressources Google Cloud grâce à une ligne de commande.

    1. Dans la barre d'outils située en haut à droite dans la console Cloud, cliquez sur le bouton "Ouvrir Cloud Shell".

    2. Cliquez sur Continuer.

    Le provisionnement et la connexion à l'environnement prennent quelques instants. Une fois connecté, vous êtes en principe authentifié et le projet est défini sur votre ID_PROJET. Par exemple :

    gcloud est l'outil de ligne de commande pour Google Cloud. Il est préinstallé sur Cloud Shell et permet la complétion par tabulation.

    • Vous pouvez lister les noms des comptes actifs à l'aide de cette commande :
    gcloud auth list

    Résultat :

    Credentialed accounts: - @.com (active)

    Exemple de résultat :

    Credentialed accounts: - google1623327_student@qwiklabs.net
    • Vous pouvez lister les ID de projet à l'aide de cette commande :
    gcloud config list project

    Résultat :

    [core] project =

    Exemple de résultat :

    [core] project = qwiklabs-gcp-44776a13dea667a6 Remarque : Pour consulter la documentation complète sur gcloud, accédez au guide de présentation de la gcloud CLI.

    Tâche 1 : Vérifier que les API dont vous avez besoin sont activées

    1. Notez le nom de votre projet Google Cloud. Cette valeur est disponible dans la barre supérieure de la console Google Cloud. Elle se compose de la chaîne qwiklabs-gcp-, suivie de nombres hexadécimaux.

    2. Dans la console Google Cloud, dans le menu de navigation (), cliquez sur API et services.

    3. Cliquez sur Bibliothèque.

    4. Saisissez Cloud Build dans la zone Rechercher des API et des services.

    5. La fiche correspondant à l'API Cloud Build apparaît. Si vous ne voyez pas de message confirmant que l'API est activée, cliquez sur le bouton Activer.

    6. Utilisez le bouton Retour pour revenir à l'écran précédent, qui propose un champ de recherche. Dans le champ de recherche, saisissez Artifact Registry.

    7. La fiche correspondant à l'API Artifact Registry apparaît. Si vous ne voyez pas de message confirmant que l'API est activée, cliquez sur le bouton Activer.

    Tâche 2 : Créer des conteneurs avec un Dockerfile et Cloud Build

    Vous pouvez créer des fichiers de configuration de compilation pour fournir à Cloud Build des instructions portant sur les tâches à effectuer lors de la création d'un conteneur. Ces fichiers de compilation permettent de récupérer des dépendances et d'exécuter des tests unitaires, des analyses et bien d'autres opérations. Dans cette tâche, vous allez créer un Dockerfile et l'utiliser comme script de configuration de compilation avec Cloud Build. Vous allez aussi créer un script shell simple (quickstart.sh) qui représentera une application à l'intérieur du conteneur.

    1. Dans la barre de titre de la console Google Cloud, cliquez sur Activer Cloud Shell.

    2. Lorsque vous y êtes invité, cliquez sur Autoriser.

    Cloud Shell s'ouvre en bas de la fenêtre de la console Google Cloud.

    1. Créez un fichier quickstart.sh vide avec l'éditeur de texte nano :
    nano quickstart.sh
    1. Ajoutez les lignes suivantes au fichier quickstart.sh :
    #!/bin/sh echo "Hello, world! The time is $(date)."
    1. Enregistrez le fichier et quittez Nano en appuyant sur "CTRL+X", sur "Y", puis sur "Entrée".

    2. Créez un fichier Dockerfile vide avec l'éditeur de texte nano :

    nano Dockerfile
    1. Ajoutez la commande Dockerfile suivante :
    FROM alpine

    Cette commande indique au build d'utiliser l'image de base Alpine Linux.

    1. Ajoutez la commande Dockerfile suivante à la fin du fichier Dockerfile :
    COPY quickstart.sh /

    Cette commande permet d'ajouter le script quickstart.sh au répertoire / de l'image.

    1. Ajoutez la commande Dockerfile suivante à la fin du fichier Dockerfile :
    CMD ["/quickstart.sh"]

    Cette commande configure l'image pour qu'elle exécute le script /quickstart.sh lorsque le conteneur associé est créé et exécuté.

    Voici à quoi doit maintenant ressembler le fichier Dockerfile :

    FROM alpine COPY quickstart.sh / CMD ["/quickstart.sh"]
    1. Enregistrez le fichier et quittez nano en appuyant sur "CTRL+X", sur "Y", puis sur "Entrée".

    2. Dans Cloud Shell, exécutez la commande suivante pour rendre le script quickstart.sh exécutable :

    chmod +x quickstart.sh
    1. Créez un dépôt Docker nommé quickstart-docker-repo à l'emplacement avec comme description "dépôt Docker" :
    gcloud artifacts repositories create quickstart-docker-repo --repository-format=docker \ --location={{{project_0.default_region | "REGION"}}} --description="Docker repository"
    1. Dans Cloud Shell, exécutez la commande suivante pour créer l'image de conteneur Docker dans Cloud Build :
    gcloud builds submit --tag {{{project_0.default_region | "REGION"}}}-docker.pkg.dev/${DEVSHELL_PROJECT_ID}/quickstart-docker-repo/quickstart-image:tag1

    Une fois la compilation terminée, votre image Docker est créée et transférée vers Artifact Registry.

    1. Dans la console Google Cloud, recherchez Artifact Registry dans la barre de recherche (située en haut de la fenêtre de la console).

    2. Cliquez sur le dépôt intitulé quickstart-docker-repo.

    L'image Docker quickstart-image apparaît dans la liste.

    Tâche 3 : Créer des conteneurs avec un fichier de configuration de compilation et Cloud Build

    Cloud Build prend aussi en charge les fichiers de configuration de compilation personnalisés. Dans cette tâche, vous allez intégrer un conteneur Docker existant à l'aide d'un fichier de compilation personnalisé au format YAML et de Cloud Build.

    Créons un exemple de fichier de configuration Cloud Build personnalisé nommé cloudbuild.yaml.

    1. Dans nano, créez et ouvrez un fichier nommé cloudbuild.yaml à l'aide de la commande suivante :
    nano cloudbuild.yaml
    1. Une fois nano ouvert, collez la commande suivante dans le fichier cloudbuild.yaml :
    steps: - name: 'gcr.io/cloud-builders/docker' args: [ 'build', '-t', 'YourRegionHere-docker.pkg.dev/$PROJECT_ID/quickstart-docker-repo/quickstart-image:tag1', '.' ] images: - 'YourRegionHere-docker.pkg.dev/$PROJECT_ID/quickstart-docker-repo/quickstart-image:tag1'
    1. Appuyez sur Ctrl+O, puis sur Entrée pour enregistrer les modifications.

    2. Appuyez sur Ctrl+X pour quitter l'éditeur de texte nano.

    3. Exécutez la commande suivante pour définir la variable de région et l'insérer dans le fichier yaml :

    export REGION={{{project_0.default_region | "REGION"}}} sed -i "s/YourRegionHere/$REGION/g" cloudbuild.yaml
    1. Dans Cloud Shell, exécutez la commande suivante pour afficher le contenu de cloudbuild.yaml :
    cat cloudbuild.yaml

    Les résultats suivants s'affichent :

    steps: - name: 'gcr.io/cloud-builders/docker' args: [ 'build', '-t', '{{{project_0.default_region | "REGION"}}}-docker.pkg.dev/$PROJECT_ID/quickstart-docker-repo/quickstart-image:tag1', '.' ] images: - '{{{project_0.default_region | "REGION"}}}-docker.pkg.dev/$PROJECT_ID/quickstart-docker-repo/quickstart-image:tag1'

    Ce fichier indique à Cloud Build d'utiliser Docker pour compiler une image à partir des spécifications du Dockerfile enregistré dans le répertoire local, d'ajouter à l'image un tag gcr.io/$PROJECT_ID/quickstart-image ($PROJECT_ID est une variable de substitution que Cloud Build remplace automatiquement par l'ID du projet correspondant), puis d'envoyer cette image vers Artifact Registry.

    1. Dans Cloud Shell, exécutez la commande suivante pour démarrer une compilation Cloud Build basée sur le fichier de configuration cloudbuild.yaml.
    gcloud builds submit --config cloudbuild.yaml

    Le build généré sur Cloud Shell doit être identique au précédent. Une fois la compilation terminée, une nouvelle version de la même image est envoyée vers Artifact Registry.

    1. Dans la console Google Cloud, recherchez Artifact Registry dans la barre de recherche (située en haut de la fenêtre de la console).

    2. Dans les résultats de recherche, cliquez sur Artifact Registry.

    3. Cliquez sur le dépôt intitulé quickstart-docker-repo > quickstart-image.

    La liste comporte maintenant deux versions de quickstart-image.

    Cliquez sur Vérifier ma progression pour valider l'objectif. Compiler deux images de conteneur dans Cloud Build

    1. Dans la console Google Cloud, recherchez Cloud Build dans la barre de recherche (située en haut de la fenêtre de la console).

    2. Dans les résultats de recherche, cliquez sur Cloud Build.

    3. Dans Cloud Build, cliquez sur Historique. La liste comporte deux builds.

    4. Cliquez sur l'ID correspondant au build en haut de la liste. Toutes les informations sur le build s'affichent, y compris son journal.

    Tâche 4 : Créer et tester des conteneurs avec un fichier de configuration de compilation et Cloud Build

    L'efficacité des fichiers de configuration de compilation personnalisés vient du fait qu'ils ne se contentent pas de compiler des conteneurs, mais peuvent aussi effectuer d'autres opérations, en parallèle ou à la suite. Ils peuvent par exemple tester les nouveaux conteneurs, les envoyer vers plusieurs destinations, et même les déployer sur Kubernetes Engine.

    Dans cette tâche, nous allons vous présenter un exemple simple : un fichier de configuration de compilation qui teste un conteneur après l'avoir compilé, puis transmet le résultat à son environnement d'appel. Pour commencer, vous devez modifier le fichier quickstart.sh.

    1. Dans Cloud Shell, ouvrez quickstart.sh dans nano.

      nano quickstart.sh
    2. Remplacez le code existant par ce qui suit :

    #!/bin/sh if [ -z "$1" ] then echo "Hello, world! The time is $(date)." exit 0 else exit 1 fi
    1. Appuyez sur Ctrl+O, puis sur Entrée pour enregistrer les modifications.

    2. Appuyez sur Ctrl+X pour quitter l'éditeur de texte nano.

    Créons un fichier de configuration Cloud Build personnalisé nommé cloudbuild2.yaml. Il a été légèrement modifié de manière à montrer comment Cloud Build peut tester les conteneurs qu'il a compilés.

    1. Dans nano, créez et ouvrez un fichier nommé cloudbuild2.yaml à l'aide de la commande suivante :
    nano cloudbuild2.yaml
    1. Une fois nano ouvert, collez la commande suivante dans le fichier cloudbuild2.yaml :
    steps: - name: 'gcr.io/cloud-builders/docker' args: [ 'build', '-t', 'YourRegionHere-docker.pkg.dev/$PROJECT_ID/quickstart-docker-repo/quickstart-image:tag1', '.' ] - name: 'YourRegionHere-docker.pkg.dev/$PROJECT_ID/quickstart-docker-repo/quickstart-image:tag1' args: ['fail'] images: - 'YourRegionHere-docker.pkg.dev/$PROJECT_ID/quickstart-docker-repo/quickstart-image:tag1'
    1. Appuyez sur Ctrl+O, puis sur Entrée pour enregistrer les modifications.

    2. Appuyez sur Ctrl+X pour quitter l'éditeur de texte nano.

    3. Exécutez la commande suivante pour insérer la valeur de la région dans le fichier yaml :

    sed -i "s/YourRegionHere/$REGION/g" cloudbuild2.yaml
    1. Dans Cloud Shell, exécutez la commande suivante pour afficher le contenu de cloudbuild2.yaml :
    cat cloudbuild2.yaml

    Le résultat suivant s'affiche :

    steps: - name: 'gcr.io/cloud-builders/docker' args: [ 'build', '-t', '{{{project_0.default_region | "REGION"}}}-docker.pkg.dev/$PROJECT_ID/quickstart-docker-repo/quickstart-image:tag1', '.' ] - name: 'gcr.io/$PROJECT_ID/quickstart-image' args: ['fail'] images: - '{{{project_0.default_region | "REGION"}}}-docker.pkg.dev/$PROJECT_ID/quickstart-docker-repo/quickstart-image:tag1'

    En plus des opérations vues précédemment, ce fichier de configuration de compilation exécute l'image quickstart-image qu'il a créée. Dans cette tâche, le script quickstart.sh a été modifié de manière à simuler l'échec du test lorsque l'argument ['fail'] lui est transmis.

    1. Dans Cloud Shell, exécutez la commande suivante pour démarrer une compilation Cloud Build basée sur le fichier de configuration cloudbuild.yaml.
    gcloud builds submit --config cloudbuild2.yaml

    Vous pouvez constater que le résultat de la commande se termine par ce texte :

    Résultat

    BUILD FAILURE: Build step failure: build step 1 "us-east1-docker.pkg.dev/qwiklabs-gcp-02-1c7ba5c697a0/quickstart-docker-repo/quickstart-image:tag1" failed: starting step container failed: Error response from daemon: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: exec: "fail": executable file not found in $PATH: unknown ERROR: (gcloud.builds.submit) build 96c4a454-be06-4010-aa7c-da57c14165f4 completed with status "FAILURE"
    1. Vérifiez que votre shell de commande a pris en compte l'échec de la compilation :
    echo $?

    La commande va renvoyer une valeur non nulle. Si vous aviez intégré cette compilation à un script, celui-ci aurait pu agir sur la base de cet échec.

    Cliquez sur Vérifier ma progression pour valider l'objectif. Compiler et tester des conteneurs avec un fichier de configuration de compilation et Cloud Build

    Terminer l'atelier

    Une fois l'atelier terminé, cliquez sur Terminer l'atelier. Google Cloud Skills Boost supprime les ressources que vous avez utilisées, puis efface le compte.

    Si vous le souhaitez, vous pouvez noter l'atelier. Sélectionnez un nombre d'étoiles, saisissez un commentaire, puis cliquez sur Envoyer.

    Le nombre d'étoiles correspond à votre degré de satisfaction :

    • 1 étoile = très insatisfait(e)
    • 2 étoiles = insatisfait(e)
    • 3 étoiles = ni insatisfait(e), ni satisfait(e)
    • 4 étoiles = satisfait(e)
    • 5 étoiles = très satisfait(e)

    Si vous ne souhaitez pas donner votre avis, vous pouvez fermer la boîte de dialogue.

    Pour soumettre des commentaires, suggestions ou corrections, veuillez accéder à l'onglet Assistance.

    Copyright 2020 Google LLC Tous droits réservés. Google et le logo Google sont des marques de Google LLC. Tous les autres noms d'entreprises et de produits peuvent être des marques des entreprises auxquelles ils sont associés.

    Précédent Suivant

    Before you begin

    1. Labs create a Google Cloud project and resources for a fixed time
    2. Labs have a time limit and no pause feature. If you end the lab, you'll have to restart from the beginning.
    3. On the top left of your screen, click Start lab to begin

    Ce contenu n'est pas disponible pour le moment

    Nous vous préviendrons par e-mail lorsqu'il sera disponible

    Parfait !

    Nous vous contacterons par e-mail s'il devient disponible

    One lab at a time

    Confirm to end all existing labs and start this one

    Use private browsing to run the lab

    Use an Incognito or private browser window to run this lab. This prevents any conflicts between your personal account and the Student account, which may cause extra charges incurred to your personal account.
    Aperçu