Dans cet atelier, vous allez définir et exécuter des tâches standard et des tâches Cron.
Dans GKE, une tâche est un objet Contrôleur qui représente une opération finie. Les tâches gèrent une action du début à la fin, plutôt que de gérer un état souhaité en continu, comme le maintien du nombre total de pods en cours d'exécution.
Les tâches Cron réalisent des actions limitées dans le temps qui s'exécutent une ou plusieurs fois à un moment que vous déterminez, et utilisent des objets Tâche pour effectuer ces actions.
Objectifs
Dans cet atelier, vous allez apprendre à effectuer les tâches suivantes :
Définir, déployer et nettoyer une tâche GKE
Définir, déployer et nettoyer une tâche Cron GKE
Tâche 0 : Mettre en place l'atelier
Accéder à Qwiklabs
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.
Connectez-vous à Qwiklabs dans une fenêtre de navigation privée.
Vérifiez le temps imparti pour l'atelier (par exemple : 01:15:00) : vous devez pouvoir le terminer dans ce délai.
Une fois l'atelier lancé, vous ne pouvez pas le mettre en pause. Si nécessaire, vous pourrez le redémarrer, mais vous devrez tout reprendre depuis le début.
Lorsque vous êtes prêt, cliquez sur Démarrer l'atelier.
Notez vos identifiants pour l'atelier (Nom d'utilisateur et Mot de passe). Ils vous serviront à vous connecter à Google Cloud Console.
Cliquez sur Ouvrir la console Google.
Cliquez sur Utiliser un autre compte, puis copiez-collez les identifiants de cet atelier lorsque vous y êtes invité.
Si vous utilisez d'autres identifiants, des messages d'erreur s'afficheront ou des frais seront appliqués.
Acceptez les conditions d'utilisation et ignorez la page concernant les ressources de récupération des données.
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.
Dans la barre d'outils située en haut à droite dans la console Cloud, cliquez sur le bouton "Ouvrir Cloud Shell".
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 :
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 : Définir et déployer un fichier manifeste de tâche
Dans GKE, une tâche est un objet Contrôleur qui représente une opération finie.
Dans cet exercice, vous allez créer une tâche, inspecter son état, puis la supprimer.
Se connecter au cluster Google Kubernetes Engine de l'atelier
Dans Cloud Shell, définissez les variables d'environnement correspondant à la zone et au nom du cluster en saisissant la commande suivante.
Passez au répertoire qui contient les exemples de fichiers de l'atelier.
cd ~/ak8s/Jobs_CronJobs
Créer et exécuter une tâche
Vous allez créer une tâche en utilisant un exemple de fichier manifeste de déploiement appelé example-job.yaml, qui vous a été fourni. Cette tâche calcule la valeur de pi jusqu'à 2 000 décimales, puis imprime le résultat.
apiVersion: batch/v1
kind: Job
metadata:
# Unique key of the Job instance
name: example-job
spec:
template:
metadata:
name: example-job
spec:
containers:
- name: pi
image: perl
command: ["perl"]
args: ["-Mbignum=bpi", "-wle", "print bpi(2000)"]
# Do not restart containers after they exit
restartPolicy: Never
Pour créer une tâche à partir de ce fichier, exécutez la commande suivante :
kubectl apply -f example-job.yaml
Cliquez sur Vérifier ma progression pour valider l'objectif.
Créer et exécuter une tâche
Pour vérifier l'état de cette tâche, exécutez la commande suivante :
kubectl describe job example-job
Vous verrez les détails de la tâche, y compris les états du pod indiquant combien de tâches sont en cours d'exécution, combien ont réussi et combien ont échoué.
Pour afficher toutes les ressources de votre cluster associées au pod, y compris les pods créés par la tâche qui sont terminés, exécutez la commande suivante :
kubectl get pods
Le nom de votre pod peut être différent de ceux de l'exemple de sortie. Notez l'un des noms de pods.
NAME READY STATUS RESTARTS AGE
example-job-sqljc 0/1 Completed 0 1m
Nettoyer et supprimer la tâche
Lorsqu'une tâche est terminée, elle arrête de créer des pods. L'objet de l'API de la tâche n'est pas supprimé lorsqu'il est terminé, ce qui vous permet d'afficher son état. Les pods créés par la tâche ne sont pas supprimés, mais terminés. La conservation des pods vous permet de consulter leurs journaux et d'interagir avec eux.
Pour obtenir la liste des tâches du cluster, exécutez la commande suivante :
kubectl get jobs
La sortie doit ressembler à cet exemple.
NAME COMPLETIONS DURATION AGE
example-job 1/1 75s 2m5s
Pour récupérer le fichier journal du pod qui a exécuté la tâche, exécutez la commande suivante. Vous devez remplacer [POD-NAME] par le nom de pod que vous avez noté lors de la dernière tâche.
kubectl logs [POD-NAME]
La sortie indique que la tâche a écrit les 2 000 premiers chiffres de pi dans le journal du pod.
Pour supprimer la tâche, exécutez la commande suivante :
kubectl delete job example-job
La commande échouera si vous réessayez d'interroger les journaux, puisque le pod ne peut plus être trouvé.
Tâche 2 : Définir et déployer un fichier manifeste de tâche Cron
Les tâches Cron permettent de réaliser des tâches limitées dans le temps qui s'exécutent une ou plusieurs fois à l'heure que vous indiquez.
Dans cet exercice, vous allez créer et exécuter une tâche Cron, puis vous nettoierez et supprimerez la tâche.
Créer et exécuter une tâche Cron
Le fichier manifeste example-cronjob.yaml de tâche Cron vous a été fourni. Cette tâche Cron déploie toutes les minutes un nouveau conteneur qui imprime l'heure, la date et "Hello, World!".
Notez le nom du pod qui a été utilisé par cette tâche.
Consultez les résultats de la tâche en interrogeant les journaux pour le pod. Remplacez [POD-NAME] par le nom de pod noté à l'étape précédente.
kubectl logs [POD-NAME]
La sortie du script shell configuré dans la tâche Cron s'affiche :
Fri Jan 28 11:12:01 UTC 2022
Hello, World!
Pour afficher toutes les ressources de votre cluster associées à cette tâche, y compris tous les pods créés par la tâche Cron et qui sont terminés, exécutez la commande suivante :
kubectl get jobs
Les noms de vos tâches peuvent être différents de ceux de l'exemple de sortie. Par défaut, Kubernetes définit les limites de l'historique des tâches afin de ne conserver que les trois dernières tâches réussies et la dernière tâche ayant échoué. Sur quatre tâches, cette liste ne contient donc que les trois tâches les plus récentes.
NAME COMPLETIONS DURATION AGE
hello-27389472 1/1 1s 2m55s
hello-27389473 1/1 1s 115s
hello-27389474 1/1 1s 55s
Nettoyer et supprimer la tâche
Si vous souhaitez interrompre la tâche Cron et nettoyer les tâches associées, vous devez supprimer la tâche Cron.
Pour supprimer toutes ces tâches, exécutez la commande suivante :
kubectl delete cronjob hello
Pour vérifier que les tâches ont bien été supprimées, exécutez la commande suivante :
kubectl get jobs
La sortie doit ressembler à cet exemple.
No resources found in default namespace.
Toutes les tâches ont été supprimées.
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.
Les ateliers créent un projet Google Cloud et des ressources pour une durée déterminée.
Les ateliers doivent être effectués dans le délai imparti et ne peuvent pas être mis en pause. Si vous quittez l'atelier, vous devrez le recommencer depuis le début.
En haut à gauche de l'écran, cliquez sur Démarrer l'atelier pour commencer.
Utilisez la navigation privée
Copiez le nom d'utilisateur et le mot de passe fournis pour l'atelier
Cliquez sur Ouvrir la console en navigation privée
Connectez-vous à la console
Connectez-vous à l'aide des identifiants qui vous ont été attribués pour l'atelier. L'utilisation d'autres identifiants peut entraîner des erreurs ou des frais.
Acceptez les conditions d'utilisation et ignorez la page concernant les ressources de récupération des données.
Ne cliquez pas sur Terminer l'atelier, à moins que vous n'ayez terminé l'atelier ou que vous ne vouliez le recommencer, car cela effacera votre travail et supprimera le projet.
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
Un atelier à la fois
Confirmez pour mettre fin à tous les ateliers existants et démarrer celui-ci
Utilisez la navigation privée pour effectuer l'atelier
Ouvrez une fenêtre de navigateur en mode navigation privée pour effectuer cet atelier. Vous éviterez ainsi les conflits entre votre compte personnel et le compte temporaire de participant, qui pourraient entraîner des frais supplémentaires facturés sur votre compte personnel.
Architecting with Google Kubernetes Engine: déployer des tâches sur Google Kubernetes Engine
Durée :
9 min de configuration
·
Accessible pendant 60 min
·
Terminé après 60 min