Caricamento in corso…
Nessun risultato trovato.

Google Cloud Skills Boost

Applica le tue competenze nella console Google Cloud

03

Architecting with Google Kubernetes Engine: Workloads - Italiano

Accedi a oltre 700 lab e corsi

Deploying Jobs on Google Kubernetes Engine

Lab 1 ora universal_currency_alt 5 crediti show_chart Introduttivi
info Questo lab potrebbe incorporare strumenti di AI a supporto del tuo apprendimento.
Accedi a oltre 700 lab e corsi

Panoramica

In questo lab definirai ed eseguirai Job e CronJob.

In GKE, un Job è un oggetto controller che rappresenta un'attività limitata. I Job gestiscono un'attività durante l'esecuzione fino al completamento, invece di gestire uno stato desiderato continuo, come il mantenimento del numero totale di pod in esecuzione.

I CronJob eseguono attività limitate e legate al tempo, una o più volte nei tempi da te specificati, utilizzando oggetti Job per completare tali attività.

Obiettivi

In questo lab imparerai a:

  • Definire, eseguire il deployment e ripulire un Job GKE

  • Definire, eseguire il deployment e ripulire un CronJob GKE

Attività 0 – Configurazione del lab

Accedi a Qwiklabs

Per ciascun lab, riceverai un nuovo progetto Google Cloud e un insieme di risorse per un periodo di tempo limitato senza alcun costo aggiuntivo.

  1. Accedi a Qwiklabs utilizzando una finestra di navigazione in incognito.

  2. Tieni presente la durata dell'accesso al lab (ad esempio, 1:15:00) e assicurati di finire entro quell'intervallo di tempo.
    Non è disponibile una funzionalità di pausa. Se necessario, puoi riavviare il lab ma dovrai ricominciare dall'inizio.

  3. Quando è tutto pronto, fai clic su Inizia lab.

  4. Annota le tue credenziali del lab (Nome utente e Password). Le userai per accedere a Google Cloud Console.

  5. Fai clic su Apri console Google.

  6. Fai clic su Utilizza un altro account e copia/incolla le credenziali per questo lab nei prompt.
    Se utilizzi altre credenziali, compariranno errori oppure ti verranno addebitati dei costi.

  7. Accetta i termini e salta la pagina di ripristino delle risorse.

Una volta completati i passaggi di accesso iniziali, viene visualizzata la dashboard del progetto.

Attiva Google Cloud Shell

Google Cloud Shell è una macchina virtuale in cui sono caricati strumenti per sviluppatori. Offre una home directory permanente da 5 GB e viene eseguita su Google Cloud.

Google Cloud Shell fornisce l'accesso da riga di comando alle risorse Google Cloud.

  1. Nella barra degli strumenti in alto a destra della console Cloud, fai clic sul pulsante Apri Cloud Shell.

    Icona Cloud Shell in evidenza

  2. Fai clic su Continua.

Bastano pochi istanti per eseguire il provisioning e connettersi all'ambiente. Quando la connessione è attiva, l'autenticazione è già avvenuta e il progetto è impostato sul tuo PROJECT_ID. Ad esempio:

ID progetto evidenziato nel terminale Cloud Shell

gcloud è lo strumento a riga di comando di Google Cloud. È preinstallato su Cloud Shell e supporta il completamento.

  • Puoi visualizzare il nome dell'account attivo con questo comando:
gcloud auth list

Output:

Credentialed accounts: - @.com (active)

Output di esempio:

Credentialed accounts: - google1623327_student@qwiklabs.net
  • Puoi elencare l'ID progetto con questo comando:
gcloud config list project

Output:

[core] project =

Output di esempio:

[core] project = qwiklabs-gcp-44776a13dea667a6 Nota: la documentazione completa di gcloud è disponibile nella guida Panoramica dell'interfaccia a riga di comando gcloud .

Attività 1 – Definisci ed esegui il deployment del manifest di un Job

In GKE, un Job è un oggetto controller che rappresenta un'attività limitata.

In questa attività creerai un Job e ne controllerai lo stato per poi rimuoverlo.

Connettiti al cluster Google Kubernetes Engine del lab

  1. In Cloud Shell, digita il comando seguente per impostare la variabile di ambiente per il nome della zona e del cluster.

export my_zone=us-central1-a export my_cluster=standard-cluster-1
  1. Configura il completamento tramite tasto Tab di kubectl in Cloud Shell.

source <(kubectl completion bash)
  1. In Cloud Shell, configura l'accesso al tuo cluster per lo strumento a riga di comando kubectl, utilizzando il comando seguente:

gcloud container clusters get-credentials $my_cluster --zone $my_zone
  1. In Cloud Shell, inserisci il comando seguente per clonare il repository nella sessione di Cloud Shell del lab.

git clone https://github.com/GoogleCloudPlatform/training-data-analyst
  1. Crea un soft link da utilizzare come scorciatoia alla directory di lavoro.

ln -s ~/training-data-analyst/courses/ak8s/v1.1 ~/ak8s
  1. Passa alla directory che contiene i file di esempio per questo lab.

cd ~/ak8s/Jobs_CronJobs

Crea ed esegui un Job

Puoi creare un job utilizzando un manifest di deployment di esempio denominato example-job.yaml che abbiamo fornito per te. Questo Job calcola il valore di pi greco con 2000 cifre decimali e poi stampa il risultato.

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
  1. Per creare un Job da questo file, esegui questo comando:

kubectl apply -f example-job.yaml

Fai clic su Controlla i miei progressi per verificare l'obiettivo. Crea ed esegui un Job

  1. Per controllare lo stato di questo job, esegui il comando seguente:

kubectl describe job example-job

Vedrai i dettagli del job, inclusi gli stati dei pod che indicano quanti job sono ancora in esecuzione, quanti sono stati completati correttamente e quanti non sono riusciti.

Output (non copiare)

... Start Time: Thu, 20 Dec 2018 14:34:09 +0000 Pods Statuses: 0 Running / 1 Succeeded / 0 Failed ...
  1. Per visualizzare tutte le risorse pod nel cluster, inclusi i pod creati dal Job che sono stati completati, esegui questo comando:

kubectl get pods

Il nome del pod potrebbe essere diverso dall'output di esempio. Prendi nota di uno dei nomi dei pod.

Output (non copiare)

NAME READY STATUS RESTARTS AGE example-job-sqljc 0/1 Completed 0 1m

Ripulisci ed elimina il Job

Quando un Job viene completato, smette di creare pod. L'oggetto Job API job non viene rimosso al completamento, consentendoti di visualizzarne lo stato. I pod creati dal Job non vengono eliminati, ma vengono interrotti. La conservazione dei pod consente di visualizzare i log e di interagirvi.

  1. Per visualizzare un elenco dei Job nel cluster, esegui questo comando:

kubectl get jobs

L'output dovrebbe essere simile all'esempio seguente.

Output (non copiare)

NAME COMPLETIONS DURATION AGE example-job 1/1 75s 2m5s
  1. Per recuperare il file di log dal pod che ha eseguito il Job, esegui questo comando. Devi sostituire [POD-NAME] con il nome del nodo registrato nell'ultima attività

kubectl logs [POD-NAME]

L'output mostra che il job ha scritto le prime duemila cifre del pi greco nel log del pod.

  1. Per eliminare il Job, esegui questo comando:

kubectl delete job example-job

Se tenti di eseguire nuovamente la query sui log, il comando avrà esito negativo poiché non è più possibile trovare il pod.

Attività 2 – Definisci ed esegui il deployment del manifest di un CronJob

Puoi creare CronJob per eseguire attività limitate e legate al tempo, una o più volte nei tempi da te specificati.

In questa attività crei ed esegui un CronJob, quindi pulisci ed elimini il Job.

Crea ed esegui un CronJob

Il file manifest del CronJob example-cronjob.yaml ti è stato fornito. Questo CronJob esegue il deployment di un nuovo container che stampa l'ora, la data e la frase "Hello, World!".

apiVersion: batch/v1beta1 kind: CronJob metadata: name: hello spec: schedule: "*/1 * * * *" jobTemplate: spec: template: spec: containers: - name: hello image: busybox args: - /bin/sh - -c - date; echo "Hello, World!" restartPolicy: OnFailure
  1. Per creare un Job da questo file, esegui questo comando:

kubectl apply -f example-cronjob.yaml

Fai clic su Controlla i miei progressi per verificare l'obiettivo. Crea ed esegui un CronJob

  1. Per visualizzare un elenco dei Job nel cluster, esegui questo comando:

kubectl get jobs

L'output dovrebbe essere simile all'esempio seguente.

Output (non copiare)

NAME COMPLETIONS DURATION AGE hello-1545013620 1/1 2s 18s
  1. Per controllare lo stato di questo job, esegui il comando seguente, dove [job_name] è il nome del tuo job:

kubectl describe job [job_name]

Vedrai i dettagli del job, inclusi gli stati dei pod che indicano che è stata eseguita un'istanza di questo job.

Output (non copiare)

... Start Time: Thu, 20 Dec 2018 15:24:03 +0000 Pods Statuses: 0 Running / 1 Succeeded / 0 Failed ... ...Created pod: hello-1545319920-twkhl
  1. Prendi nota del nome del pod utilizzato dal job.

  2. Visualizza l'output del Job eseguendo una query sui log per il pod. Sostituisci [POD-NAME] con il nome del pod registrato nell'ultimo passaggio.

kubectl logs [POD-NAME]

Verrà visualizzato l'output dello script shell configurato nel CronJob:

Output (non copiare)

Thu Dec 20 15:31:16 WET 2018 Hello,World!
  1. Per visualizzare tutte le risorse dei job nel cluster, inclusi tutti i pod creati dal CronJob che sono stati completati, esegui questo comando:

kubectl get jobs

I nomi dei job potrebbero essere diversi dall'output di esempio. Per impostazione predefinita, Kubernetes stabilisce i limiti della cronologia dei job in modo che vengano conservati solo gli ultimi tre job riusciti e l'ultimo non riuscito, di conseguenza questo elenco conterrà solo i tre job più recenti tra i quattro.

Output (non copiare)

NAME COMPLETIONS DURATION AGE hello-1545013680 1 1 2m hello-1545013740 1 1 1m hello-1545013800 1 1 42s

Ripulisci ed elimina il Job

Per arrestare il CronJob e ripulire i Job associati, è necessario eliminare il CronJob.

  1. Per eliminare tutti i job, esegui questo comando:

kubectl delete cronjob hello
  1. Per verificare che i job siano stati eliminati, esegui questo comando:

kubectl get jobs

L'output dovrebbe essere simile all'esempio seguente.

Output (non copiare)

No resources found.

Tutti i job sono stati rimossi.

Termina il lab

Una volta completato il lab, fai clic su Termina lab. Google Cloud Skills Boost rimuove le risorse che hai utilizzato ed esegue la pulizia dell'account.

Avrai la possibilità di inserire una valutazione in merito alla tua esperienza. Seleziona il numero di stelle applicabile, inserisci un commento, quindi fai clic su Invia.

Il numero di stelle corrisponde alle seguenti valutazioni:

  • 1 stella = molto insoddisfatto
  • 2 stelle = insoddisfatto
  • 3 stelle = esperienza neutra
  • 4 stelle = soddisfatto
  • 5 stelle = molto soddisfatto

Se non vuoi lasciare un feedback, chiudi la finestra di dialogo.

Per feedback, suggerimenti o correzioni, utilizza la scheda Assistenza.

Copyright 2020 Google LLC Tutti i diritti riservati. Google e il logo Google sono marchi di Google LLC. Tutti gli altri nomi di società e prodotti sono marchi delle rispettive società a cui sono associati.

Indietro Avanti

Prima di iniziare

  1. I lab creano un progetto e risorse Google Cloud per un periodo di tempo prestabilito
  2. I lab hanno un limite di tempo e non possono essere messi in pausa. Se termini il lab, dovrai ricominciare dall'inizio.
  3. In alto a sinistra dello schermo, fai clic su Inizia il lab per iniziare

Utilizza la navigazione privata

  1. Copia il nome utente e la password forniti per il lab
  2. Fai clic su Apri console in modalità privata

Accedi alla console

  1. Accedi utilizzando le tue credenziali del lab. L'utilizzo di altre credenziali potrebbe causare errori oppure l'addebito di costi.
  2. Accetta i termini e salta la pagina di ripristino delle risorse
  3. Non fare clic su Termina lab a meno che tu non abbia terminato il lab o non voglia riavviarlo, perché il tuo lavoro verrà eliminato e il progetto verrà rimosso

Questi contenuti non sono al momento disponibili

Ti invieremo una notifica via email quando sarà disponibile

Bene.

Ti contatteremo via email non appena sarà disponibile

Un lab alla volta

Conferma per terminare tutti i lab esistenti e iniziare questo

Utilizza la navigazione privata per eseguire il lab

Utilizza una finestra del browser in incognito o privata per eseguire questo lab. In questo modo eviterai eventuali conflitti tra il tuo account personale e l'account Studente, che potrebbero causare addebiti aggiuntivi sul tuo account personale.
Anteprima