arrow_back

Awwvision : API Cloud Vision dans un cluster Kubernetes

Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

Awwvision : API Cloud Vision dans un cluster Kubernetes

Lab 45 minutes universal_currency_alt 5 crédits show_chart Intermédiaire
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

GSP066

Google Cloud – Ateliers adaptés au rythme de chacun

Présentation

Dans cet atelier sur Awwvision, vous allez utiliser Kubernetes et l'API Cloud Vision pour classer (étiqueter) des images du subreddit /r/aww de Reddit et afficher les résultats étiquetés dans une application Web.

Awwvision est constitué de trois composants :

  1. Une instance Redis simple
  2. Une application Web qui affiche les étiquettes et les images associées
  3. Un nœud de calcul qui gère le scraping des images de Reddit et leur classification à l'aide de l'API Vision (Cloud Pub/Sub est utilisé pour coordonner les tâches entre plusieurs instances de nœuds de calcul)

Préparation

Avant de cliquer sur le bouton "Démarrer l'atelier"

Lisez ces instructions. Les ateliers sont minutés, et vous ne pouvez pas les mettre en pause. Le minuteur, qui démarre lorsque vous cliquez sur Démarrer l'atelier, indique combien de temps les ressources Google Cloud resteront accessibles.

Cet atelier pratique vous permet de suivre vous-même les activités dans un véritable environnement cloud, et non dans un environnement de simulation ou de démonstration. Nous vous fournissons des identifiants temporaires pour vous connecter à Google Cloud le temps de l'atelier.

Pour réaliser cet atelier :

  • vous devez avoir accès à un navigateur Internet standard (nous vous recommandons d'utiliser Chrome) ;
Remarque : Ouvrez une fenêtre de navigateur en mode incognito/navigation privée pour effectuer cet atelier. Vous éviterez ainsi les conflits entre votre compte personnel et le temporaire étudiant, qui pourraient entraîner des frais supplémentaires facturés sur votre compte personnel.
  • vous disposez d'un temps limité ; une fois l'atelier commencé, vous ne pouvez pas le mettre en pause.
Remarque : Si vous possédez déjà votre propre compte ou projet Google Cloud, veillez à ne pas l'utiliser pour réaliser cet atelier afin d'éviter que des frais supplémentaires ne vous soient facturés.

Démarrer l'atelier et se connecter à la console Google Cloud

  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
    • 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. 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 inclus dans le panneau Détails concernant l'atelier et collez-le dans la boîte de dialogue Se connecter. Cliquez sur Suivant.

  4. Copiez le mot de passe inclus dans le panneau Détails concernant l'atelier et collez-le dans la boîte de dialogue de bienvenue. Cliquez sur Suivant.

    Important : Vous devez utiliser les identifiants fournis dans le panneau de gauche. Ne saisissez pas vos identifiants Google Cloud Skills Boost. Remarque : Si vous utilisez votre propre compte Google Cloud pour cet atelier, des frais supplémentaires peuvent vous être facturés.
  5. 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 aux essais offerts.

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

Remarque : Vous pouvez afficher le menu qui contient la liste des produits et services Google Cloud en cliquant sur le menu de navigation en haut à gauche. Icône du menu de navigation

Activer Cloud Shell

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. Cloud Shell vous permet d'accéder via une ligne de commande à vos ressources Google Cloud.

  1. Cliquez sur Activer Cloud Shell Icône Activer Cloud Shell en haut de la console Google Cloud.

Une fois connecté, vous êtes en principe authentifié et le projet est défini sur votre ID_PROJET. Le résultat contient une ligne qui déclare YOUR_PROJECT_ID (VOTRE_ID_PROJET) pour cette session :

Your Cloud Platform project in this session is set to YOUR_PROJECT_ID

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.

  1. (Facultatif) Vous pouvez lister les noms des comptes actifs à l'aide de cette commande :
gcloud auth list
  1. Cliquez sur Autoriser.

  2. Vous devez à présent obtenir le résultat suivant :

Résultat :

ACTIVE: * ACCOUNT: student-01-xxxxxxxxxxxx@qwiklabs.net To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. (Facultatif) Vous pouvez lister les ID de projet à l'aide de cette commande :
gcloud config list project

Résultat :

[core] project = <ID_Projet>

Exemple de résultat :

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

Tâche 1 : Créer un cluster Kubernetes Engine

Dans cet atelier, vous allez utiliser gcloud, l'outil de ligne de commande de Google Cloud, pour configurer un cluster Kubernetes Engine. Vous pouvez spécifier autant de nœuds que vous le souhaitez, mais vous devez au moins en indiquer un. Le niveau d'accès cloud-platform est utilisé pour autoriser l'accès aux API Pub/Sub et Vision.

  1. Dans Cloud Shell, exécutez la commande suivante pour créer un cluster dans la zone  :
gcloud config set compute/zone {{{project_0.default_zone | Zone}}}
  1. Ensuite, démarrez le cluster en exécutant cette commande :
gcloud container clusters create awwvision \ --num-nodes 2 \ --scopes cloud-platform

Tester la tâche terminée

Cliquez sur Vérifier ma progression pour vérifier la tâche exécutée. Si le cluster Kubernetes a bien été créé, vous recevez une note d'évaluation.

Créer un cluster Kubernetes Engine
  1. Exécutez la commande suivante pour utiliser les identifiants du conteneur :
gcloud container clusters get-credentials awwvision
  1. Vérifiez que tout fonctionne à l'aide de l'outil de ligne de commande kubectl :
kubectl cluster-info

Tâche 2 : Créer un environnement virtuel

Les environnements virtuels Python permettent d'isoler l'installation d'un package du système.

  1. Installez l'environnement virtualenv :
sudo apt-get install -y virtualenv
  1. Créez l'environnement virtuel :
python3 -m venv venv
  1. Activez l'environnement virtuel.
source venv/bin/activate

Tâche 3 : Obtenir les exemples de données

  • Ajoutez les exemples de données à votre projet en exécutant cette commande :
gsutil -m cp -r gs://spls/gsp066/cloud-vision .

Tâche 4 : Déployer l'application exemple

  1. Dans Cloud Shell, accédez au répertoire python/awwvision dans le dépôt cloud-vision cloné :
cd cloud-vision/python/awwvision
  1. Une fois le répertoire awwvision ouvert, exécutez la commande make all pour créer et déployer tous les éléments :
make all

Pendant le processus, des images Docker seront créées et ajoutées au registre de conteneurs privés Google Container Registry.

De plus, des fichiers yaml seront générés à partir de modèles, mis à jour à l'aide des informations spécifiques à votre projet, puis utilisés pour déployer les ressources Kubernetes redis, webapp et worker pour cet atelier.

Tâche 5 : Vérifier les ressources Kubernetes sur le cluster

Après le déploiement, vérifiez que les ressources Kubernetes sont opérationnelles.

  1. Tout d'abord, listez les pods en exécutant cette commande :
kubectl get pods

Le résultat doit ressembler à ce qui suit, sauf que les noms des pods sont différents. Vérifiez que tous vos pods présentent l'état "Running" (En cours d'exécution) avant d'exécuter la commande suivante.

NAME READY STATUS RESTARTS AGE awwvision-webapp-vwmr1 1/1 Running 0 1m awwvision-worker-oz6xn 1/1 Running 0 1m awwvision-worker-qc0b0 1/1 Running 0 1m awwvision-worker-xpe53 1/1 Running 0 1m redis-master-rpap8 1/1 Running 0 2m
  1. Ensuite, listez les déploiements en exécutant cette commande :
kubectl get deployments -o wide

Vous voyez le nombre d'instances répliquées spécifiées pour chaque déploiement et les images utilisées :

NAME READY UP-TO-DATE AVAILABLE AGE CONTAINERS IMAGES SELECTOR awwvision-webapp 1/1 1 1 1m awwvision-webapp gcr.io/your-project/awwvision-webapp app=awwvision awwvision-worker 3/3 3 3 1m awwvision-worker gcr.io/your-project/awwvision-worker app=awwvision redis-master 1/1 1 1 1m redis-master redis app=redis
  1. Une fois l'application Web déployée, récupérez l'adresse IP externe de son service en exécutant la commande suivante :
kubectl get svc awwvision-webapp

L'affichage de l'adresse IP externe attribuée peut prendre quelques minutes. Le résultat doit ressembler à ce qui suit, sauf que les adresses IP sont différentes :

NAME TYPE CLUSTER_IP EXTERNAL_IP PORT(S) AGE awwvision-webapp LoadBalancer 10.163.250.49 23.236.61.91 80:31925/TCP 13m

Tester la tâche terminée

Cliquez sur Vérifier ma progression pour vérifier la tâche exécutée. Si l'application exemple a bien été déployée, vous recevez une note d'évaluation.

Déployer l'application exemple

Tâche 6 : Accéder à la nouvelle application Web et lancer son robot d'exploration

  1. Copiez et collez l'adresse IP externe du service awwvision-webapp dans une nouvelle fenêtre de navigateur pour ouvrir l'application Web, puis cliquez sur le bouton Start the Crawler (Lancer le robot d'exploration).

  2. Ensuite, cliquez sur Go back (Retour). Vous devriez voir les images du subreddit /r/aww classées selon les étiquettes fournies par l'API Vision. Certaines images sont classées plusieurs fois, car plusieurs étiquettes ont été détectées pour elles. Vous pouvez actualiser la page si vous l'avez affichée avant la fin de l'exécution du robot d'exploration.

Vos résultats devraient ressembler à ceci :

Page Web Awwvision affichant plusieurs vignettes photo

Tâche 7 : Tester vos connaissances

Voici une question à choix multiples qui vous aidera à assimiler les concepts abordés lors de cet atelier. Répondez-y du mieux que vous le pouvez.

Félicitations !

Vous avez utilisé Kubernetes et l'API Cloud Vision pour classer des images à partir du subreddit "/r/aww" de Reddit et affiché les résultats dans une application Web.

Terminer votre quête

Cet atelier d'auto-formation fait partie des quêtes Integrate with Machine Learning APIs et Advanced ML: ML Infrastructure. Une quête est une série d'ateliers associés qui constituent un parcours de formation. Si vous terminez une quête, vous obtenez un badge attestant de votre réussite. Vous pouvez rendre publics les badges que vous recevez et ajouter leur lien dans votre CV en ligne ou sur vos comptes de réseaux sociaux. Inscrivez-vous à n'importe quelle quête contenant cet atelier pour obtenir immédiatement les crédits associés. Découvrez toutes les quêtes disponibles dans le catalogue Google Cloud Skills Boost.

Atelier suivant

Essayez un autre atelier sur les API de machine learning, tel que Tests de charge distribués avec Kubernetes.

Étapes suivantes et informations supplémentaires

Pour en savoir plus, inscrivez-vous à la formation complète Coursera sur le machine learning.

Formations et certifications Google Cloud

Les formations et certifications Google Cloud vous aident à tirer pleinement parti des technologies Google Cloud. Nos cours portent sur les compétences techniques et les bonnes pratiques à suivre pour être rapidement opérationnel et poursuivre votre apprentissage. Nous proposons des formations pour tous les niveaux, à la demande, en salle et à distance, pour nous adapter aux emplois du temps de chacun. Les certifications vous permettent de valider et de démontrer vos compétences et votre expérience en matière de technologies Google Cloud.

Dernière modification du manuel : 6 octobre 2023

Dernier test de l'atelier : 9 octobre 2023

Copyright 2024 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.