Pour quelles raisons la création de mon application échoue-t-elle ?
Vous ne pouvez pas créer d'application. Lorsque vous exécutez la commande ibmcloud ce app create
dans l'interface de ligne de commande ou déployez une application dans la console, la création de l'application échoue
et affiche le message d'erreur failed
ou revision failed
.
Si vous ne pouvez pas créer d'application, déterminez si vous rencontrez l'une des situations suivantes :
-
Le nom de votre application n'est pas unique dans le projet. Vous recevez un message d'erreur contenant
Application 'myapp' already exists within project 'myproj', please select a unique name.
-
Le nom de votre application n'est pas valide. Vous recevez un message d'erreur contenant
An application name must consist of lowercase alphanumeric characters, '-' and must start with an alphabetic character and end with an alphanumeric character.
-
Si l'image que vous référencez n'existe pas, la création de l'application ne peut pas s'exécuter et une erreur se produit. Vous recevez un message d'erreur contenant
Unable to pull the image
. -
Si vous ne disposez pas des droits d'accès à l'image référencée, la création de l'application ne peut pas s'exécuter et une erreur se produit. Vous recevez un message d'erreur contenant
Unable to pull the image
. -
Le paramètre de la mémoire de l'unité centrale n'est pas valide. Vous recevez un message d'erreur contenant
memory parameter must be between .25 G and 32 G
oucpu parameter must be between .0125 and 8.0
. Pour plus d'informations sur les limites de Code Engine pour les applications, voir Limites d'application et valeurs par défaut pour Code Engine. -
Le quota de ressources pour les applications ou les révisions d'application est atteint et l'application (ou la révision d'application) n'est pas créée. Code Engine a des quotas pour les applications et les révisions des applications dans un projet. Pour plus d'informations sur les limites de Code Engine, voir Quotas de projet.
-
Si l'image de votre application se trouve dans Docker Hub et que vous recevez un message d'erreur similaire indiquant que vous avez atteint votre limite de débit d'extraction Docker.
429 Too Many Requests - Server message: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit ”
Essayez l'une des solutions ci-après.
-
Afin de déterminer si le nom de votre application est unique dans le projet, utilisez la commande
ibmcloud ce app list
pour répertorier toutes les applications définies et vérifiez si une application portant le même nom existe. Si tel est le cas, utilisez la commandeibmcloud ce app delete --name APP_NAME
pour supprimer l'ancienne application. Le nom de l'application doit être unique dans votre projet. -
Pour confirmer que le nom de votre application est valide, vérifiez qu'il se compose de caractères alphanumériques minuscules, de '-' et qu'il commence et se termine par un caractère alphanumérique.
-
Pour confirmer l'existence de l'image de votre application, consultez les explications ci-dessous pour plus d'informations sur l'incident.
a. Pour déployer des applications dans Code Engine, vous devez d'abord créer une image de conteneur contenant tous les artéfacts d'exécution que votre application doit exécuter, tels que les bibliothèques d'exécution. Il existe un grand nombre de méthodes pour créer l'image, notamment celle qui consiste à générer une application à partir d'un code source en utilisant la fonction Génération d'images de conteneur disponible dans Code Engine. Votre image peut être téléchargée à partir d'un registre d'images public ou privé. Pour plus d'informations sur l'accès aux registres privés, voir Ajout d'un accès à un registre de conteneur privé.
b. Si vous utilisez la commande
app create
dans l'interface de ligne de commande Code Engine, spécifiez le nom de l'image utilisée pour votre application en vous servant du formatREGISTRY/NAMESPACE/REPOSITORY:TAG
, oùREGISTRY
etTAG
sont facultatifs. SiREGISTRY
n'est pas spécifié, la valeur par défaut estdocker.io
. SiTAG
n'est pas spécifié, la valeur par défaut estlatest
. Pour plus d'informations sur le format à utiliser pour spécifier le référentiel de votre image, voir la commandeibmcloud ce app create
. -
Pour confirmer que vous pouvez accéder à l'image référencée, vérifiez l'emplacement de votre image et assurez-vous que vous disposez des droits d'accès à l'image.
Si l'image se trouve dans un registre d'images de conteneur, tel que Docker Hub ou IBM Cloud Container Registry, vérifiez que vous avez ajouté un accès au registre à Code Engine et que vous utilisez le secret de registre correct. Pour plus d'informations sur l'utilisation d'images dans un registre d'images de conteneur, voir Ajout d'un accès à un registre de conteneur privé.
-
Si vous spécifiez l'option
--memory
ou--cpu
avec la commandeapp create
, confirmez que vous utilisez des valeurs valides. Dans la commande suivante, les valeurs spécifiées pour--memory
et--cpu
ne sont pas valides, par exemple :ibmcloud ce app create --name myapp --image icr.io/codeengine/codeengine --memory 50Gi --cpu 20
Exemple de sortie
Creating application 'myapp'... FAILED memory parameter must be between 128Mi and 32Gi cpu parameter must be between .01 and 8.0
Pour corriger les erreurs, attribuez à l'option
--memory
une valeur entre 128 Mi et 32 Gi, et à l'option--cpu
, une valeur entre 0,01 et 8,0 vCPU. -
Si vous recevez un message d'erreur indiquant que le quota de ressources a été dépassé, supprimez des applications ou des révisions d'application pour pouvoir déployer d'autres applications ou révisions d'application.
-
Pour gérer vos applications, utilisez la commande
ibmcloud ce app list
pour afficher une liste de toutes vos applications dans le projet actuel. Utilisez la commandeibmcloud ce app delete
pour retirer des applications selon les besoins. -
Pour gérer vos révisions d'application, utilisez la commande
ibmcloud ce revision list
pour afficher toutes vos révisions d'application.
-
-
Pour résoudre le problème de limite de débit du concentrateur Docker, vous pouvez effectuer les actions suivantes.
-
Authentifiez-vous avec le concentrateur Docker pour augmenter la limite de débit. Prenez en compte les limites de débitDocker.
-
Extrayez l'image du concentrateur Docker et publiez l'image dans un registre différent, tel que IBM Cloud® Container Registry. Ensuite, extrayez votre image du nouvel emplacement.
-
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 application. Pour plus d'informations, voir Comment puis-je obtenir les journaux pour mes applications ? et Comment obtenir des informations sur les événements système pour mes applications ?
Pour plus d'informations sur l'utilisation d'applications, voir Déploiement d'applications.