web-dev-qa-db-fra.com

Comment afficher les journaux des travaux ayant échoué avec kubectl?

J'ai créé un travail Kubernetes qui a échoué. Où puis-je trouver les journaux de ce travail?

Je ne sais pas comment trouver le pod associé (je suppose qu'une fois le travail échoué, il supprime le pod)?

Fonctionnement kubectl describe job ne semble pas montrer d'informations pertinentes:

Name:           app-raiden-migration-12-19-58-21-11-2018
Namespace:      localdev
Selector:       controller-uid=c2fd06be-ed87-11e8-8782-080027eeb8a0
Labels:         jobType=database-migration
Annotations:    kubectl.kubernetes.io/last-applied-configuration={"apiVersion":"batch/v1","kind":"Job","metadata":{"annotations":{},"labels":{"jobType":"database-migration"},"name":"app-raiden-migration-12-19-58-21-1...
Parallelism:    1
Completions:    1
Start Time:     Wed, 21 Nov 2018 12:19:58 +0000
Pods Statuses:  0 Running / 0 Succeeded / 1 Failed
Pod Template:
  Labels:  controller-uid=c2fd06be-ed87-11e8-8782-080027eeb8a0
           job-name=app-raiden-migration-12-19-58-21-11-2018
  Containers:
   app:
    Image:  pp3-raiden-app:latest
    Port:   <none>
    Command:
      php
      artisan
      migrate
    Environment:
      DB_Host:        local-mysql
      DB_PORT:        3306
      DB_DATABASE:    raiden
      DB_USERNAME:    <set to the key 'username' in secret 'cloudsql-db-credentials'>  Optional: false
      DB_PASSWORD:    <set to the key 'password' in secret 'cloudsql-db-credentials'>  Optional: false
      LOG_CHANNEL:    stderr
      APP_NAME:       Laravel
      APP_KEY:        ABCDEF123ERD456EABCDEF123ERD456E
      APP_URL:        http://192.168.99.100
      OAUTH_PRIVATE:  <set to the key 'oauth_private.key' in secret 'laravel-oauth'>  Optional: false
      OAUTH_PUBLIC:   <set to the key 'oauth_public.key' in secret 'laravel-oauth'>   Optional: false
    Mounts:           <none>
  Volumes:            <none>
Events:
  Type     Reason                Age   From            Message
  ----     ------                ----  ----            -------
  Normal   SuccessfulCreate      2m    job-controller  Created pod: app-raiden-migration-12-19-58-21-11-2018-pwnjn
  Warning  BackoffLimitExceeded  2m    job-controller  Job has reach the specified backoff limit
7
Chris Stryczynski

Une autre approche:

  • kubectl describe job $JOB
  • Le nom du pod est affiché sous "Evénements"
  • kubectl logs $POD
10
David Thomas

Utilisez cette commande pour afficher tous les pods, même ceux qui ont échoué:

kubectl get pods -A

Et puis un pod sera affiché comme ci-dessous:

app-raiden-migration-12-19-58-21-11-2018-pwnjn 0/1 Error 0 6m

Utilisez ensuite: kubectl logs lighthouse-timer-1553800620-pwssv

3
Chris Stryczynski

Vous pouvez obtenir les modules de ce travail en exécutant:

kubectl get pods --selector=job-name=app-raiden-migration-12-19-58-21-11-2018

mais dans ce cas, je pense que vous ne trouverez pas de pods car aucun pod n'est créé, et comme mentionné dans ce lien: fin de travail et nettoyage , les pods ne sont pas supprimés après la fin des travaux. Mais je ne sais toujours pas comment vous pouvez savoir pourquoi ce pod n'a pas pu fonctionner (mais s'il y a un pod et que vous pouvez le trouver, vous pouvez trouver les journaux de ce pod). J'ai eu la même erreur et j'ai relancé le travail et le travail a fonctionné avec succès.

MODIFIER:

Je viens de voir les événements de votre travail, votre travail a fait pod et vous pouvez voir les journaux de votre pod par le nom de votre pod comme je l'ai mentionné ci-dessus.

0
mahdi1008