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.
Accedi a Qwiklabs utilizzando una finestra di navigazione in incognito.
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.
Quando è tutto pronto, fai clic su Inizia lab.
Annota le tue credenziali del lab (Nome utente e Password). Le userai per accedere a Google Cloud Console.
Fai clic su Apri console Google.
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.
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.
Nella barra degli strumenti in alto a destra della console Cloud, fai clic sul pulsante Apri Cloud Shell.
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:
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:
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
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
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.
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.
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
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.
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!".
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!
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.
Per eliminare tutti i job, esegui questo comando:
kubectl delete cronjob hello
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.
I lab creano un progetto e risorse Google Cloud per un periodo di tempo prestabilito
I lab hanno un limite di tempo e non possono essere messi in pausa. Se termini il lab, dovrai ricominciare dall'inizio.
In alto a sinistra dello schermo, fai clic su Inizia il lab per iniziare
Utilizza la navigazione privata
Copia il nome utente e la password forniti per il lab
Fai clic su Apri console in modalità privata
Accedi alla console
Accedi utilizzando le tue credenziali del lab. L'utilizzo di altre credenziali potrebbe causare errori oppure l'addebito di costi.
Accetta i termini e salta la pagina di ripristino delle risorse
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.
Architecting with Google Kubernetes Engine: Deploying Jobs on Kubernetes Engine
Durata:
Configurazione in 8 m
·
Accesso da 60 m
·
Completamento in 60 m