Pour quelles raisons mon exécution de travail n'aboutit-elle pas ?

Lorsque vous utilisez la console, vous soumettez un travail et l'exécution du travail ne se termine pas.

Lorsque vous utilisez l'interface de ligne de commande, une fois que vous avez soumis un travail, l'exécution du travail ne se termine pas. Vous pouvez confirmer ce résultat en exécutant la commande ibmcloud ce jobrun get pour afficher les détails de l'exécution de travail. Le résultat indiquant le statut de l'exécution de travail n'inclut pas la sortie suivante :

Status:                True
Type:                  Complete

Si votre exécution de travail n'a pas abouti, déterminez si l'un des cas suivants est vrai.

  1. Le traitement de l'exécution du travail nécessite plus de temps.
  2. L'image utilisée par votre exécution de travail n'existe pas.
  3. Le quota de container registry est dépassé ou le registre requiert une authentification.
  4. Les paramètres de variable d'environnement requis par l'exécution du travail ne sont pas spécifiés.
  5. Les commandes ou arguments transmis à l'exécution de travail ne sont pas valides.

Essayez l'une des solutions ci-après.

  1. Vérifiez que la durée spécifiée pour l'exécution du travail est suffisante.

    • Depuis la console, dans la page de votre travail, cliquez sur Soumettre un travail afin d'exécuter un travail reposant sur le travail sélectionné et ses propriétés définies. Vérifiez que l'option Délai d'attente du travail est correctement définie et qu'un délai de traitement suffisant est spécifié pour le travail.

    • Depuis l'interface de ligne de commande, vérifiez que l'option --maxexecutiontime MAX_TIME est définie correctement et que la durée spécifiée pour l'exécution du travail est suffisante.

  2. Vérifiez que l'image qui est utilisée par votre exécution de travail existe et est référencée correctement.

    • Depuis la console, dans la page de votre travail, vérifiez que l'image qui est spécifiée dans Référence d'image est correcte et assurez-vous qu'elle existe dans le registre de conteneur.

    • Depuis l'interface de ligne de commande, utilisez la commande ibmcloud ce jobrun get pour afficher les détails de votre exécution de travail, incluant le nom de l'image. Vérifiez que vous utilisez une image qui existe.

  3. Recherchez une erreur ImagePullBackOff en exécutant la commande ibmcloud ce jobrun events --jobrun JOBRUN_NAME ; par exemple,

    ibmcloud ce jobrun events --jobrun myjobrun
    
    • Si l'erreur dans les évènements est similaire au message suivant, cette erreur indique que le quota du registre est dépassé. Envisagez de mettre à niveau votre plan. Pour plus d'informations sur les plans de service et les limites de quota IBM Cloud Container Registry , voir A propos de IBM Cloud Container Registry.
      403 Forbidden - Server message: denied: You have exceeded your pull traffic quota for the current month. Review your pull traffic quota and pricing plan.
      
    • Si l'erreur dans les évènements est similaire au message suivant, cela indique que l'accès au registre n'existe pas ou peut nécessiter une autorisation. Vérifiez que vos données d'identification soient appropriées pour l'accès au registre.
      Failed to pull image "<image_name>": rpc error: code = Unknown desc = failed to pull and unpack image "<image_name:image_tag>": failed to resolve reference <image_name:image_tag>": pull access denied, repository does not exist or may require authorization: server message: insufficient_scope: authorization failed.
      
  4. Afficher les détails de l'exécution de travail soumise.

    • Dans la console, affichez les détails de votre exécution de travail soumise en cliquant sur le nom de votre exécution de travail dans l'onglet Exécution de travail de votre page de travail. A partir de la page des détails de l'exécution de travail soumise, vous pouvez examiner les variables d'environnement définies et vérifier qu'elles sont correctes.

    • Depuis l'interface de ligne de commande, utilisez la commande ibmcloud ce jobrun get et examinez les résultats pour les éléments suivants :

      • Vérifiez si les variables d'environnement qui sont définies à l'aide des options --env KEY=VALUE, --env-from-secret SECRET_NAME et --env-from-configmap CONFIGMAP_NAME sont correctes dans les détails de l'exécution de travail.
      • Utilisez les commandes ibmcloud ce secret get --name SECRET_NAME et ibmcloud ce configmap get --name CONFIGMAP_NAME pour vérifier que la variable d'environnement stockée dans le secret et la mappe de configuration existe.
  5. Vérifiez que les commandes et les arguments sont valides pour l'exécution du travail.

    • Dans la console, affichez les détails de l'exécution de travail soumise dans la console en cliquant sur le nom de votre exécution de travail dans l'onglet Exécution de travail de la page de votre travail. La page des détails du travail soumis répertorie les commandes ou les arguments définis pour l'exécution du travail soumis. La séquence dans les commandes et les arguments est importante.

    • Avec l'interface de ligne de commande, utilisez la commande ibmcloud ce jobrun get pour afficher les détails de l'exécution de travail soumise. La séquence dans les commandes et les arguments est importante.

Si ces solutions ne permettent pas de résoudre votre problème, essayez de récupérer les journaux ou les informations d'événement système pour votre exécution de travail. Pour plus d'informations, voir Comment puis-je obtenir des journaux pour mes instances d'exécution de travaux ? et Comment puis-je obtenir des informations sur les évènements système pour mes instances d'exécution de travaux ? (CLI).

Pour plus d'informations sur l'exécution des travaux, voir Exécution de travaux.