IBM Cloud Docs
Warum schlägt meine App-Erstellung fehl?

Warum schlägt meine App-Erstellung fehl?

Die Erstellung einer App ist nicht möglich. Wenn Sie den Befehl ibmcloud ce app create in der Befehlszeilenschnittstelle ausführen oder eine App in der Konsole bereitstellen, wird die Erstellung der Anwendung nicht erfolgreich abgeschlossen und es wird eine Fehlernachricht des Typs failed oder revision failed angezeigt.

Falls die Erstellung einer App nicht möglich ist, stellen Sie fest, ob eine der folgenden Situationen zutrifft.

  1. Der Name der App ist innerhalb des Projekts nicht eindeutig. Sie erhalten eine Fehlernachricht ähnlich der folgenden: Application 'myapp' already exists within project 'myproj', please select a unique name.

  2. Der Name der App ist nicht gültig. Sie erhalten eine Fehlernachricht ähnlich der folgenden: An application name must consist of lowercase alphanumeric characters, '-' and must start with an alphabetic character and end with an alphanumeric character.

  3. Wenn das von Ihnen referenzierte Image nicht vorhanden ist, wird die App-Erstellung nicht ausgeführt und es tritt ein Fehler auf. Sie erhalten eine Fehlernachricht ähnlich der folgenden: Unable to pull the image

  4. Wenn Sie nicht über die Berechtigungen für den Zugriff auf das referenzierte Image verfügen, wird die App-Erstellung nicht ausgeführt und es tritt ein Fehler auf. Sie erhalten eine Fehlernachricht ähnlich der folgenden: Unable to pull the image

  5. Die Hauptspeicher- oder CPU-Einstellung ist nicht gültig. Sie erhalten eine Fehlernachricht, die den Parameter memory parameter must be between .25 G and 32 G oder cpu parameter must be between .0125 and 8.0enthält. Weitere Informationen zu Code Engine limits for apps finden Sie unter Anwendungsgrenzwerte und Standardwerte für Code Engine.

  6. Das Ressourcenkontingent für Apps oder App-Revisionen ist erreicht und die App (oder App-Revision) wird nicht erstellt. Code Engine hat Kontingente für Apps und Revisionen der Apps in einem Projekt. Weitere Informationen zu Code Engine limits finden Sie unter Projektkontingente.

  7. Wenn sich das Image für Ihre App in Docker Hub befindet und Sie eine ähnliche Fehlernachricht erhalten, die angibt, dass Sie Ihre Docker-Pull-Ratenbegrenzung erreicht haben.

    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 ”
    

Versuchen Sie eine der folgenden Lösungen.

  1. Um festzustellen, ob der Name Ihrer App innerhalb des Projekts eindeutig ist, verwenden Sie den Befehl ibmcloud ce app list; damit können Sie alle definierten Apps auflisten und prüfen, ob eine App mit demselben Namen vorhanden ist. Wenn eine App mit demselben Namen vorhanden ist, verwenden Sie den Befehl ibmcloud ce app delete --name APP_NAME, um die alte App zu löschen. Der Name der App muss innerhalb Ihres Projekts eindeutig sein.

  2. Um sicherzustellen, dass der Name Ihrer App gültig ist, überprüfen Sie, ob der Name Ihrer App aus Kleinbuchstaben und '-' besteht und dass der Name mit einem alphabetischen Zeichen beginnt und endet.

  3. Überprüfen Sie die Fehlernachricht auf Informationen zu dem Fehler hin, um zu bestätigen, dass das Image für Ihre App vorhanden ist.

    a. Um Anwendungen in Code Engine bereitzustellen, müssen Sie zuerst ein Container-Image erstellen, das alle Laufzeitartefakte enthält, die Ihre Anwendung ausführen muss, z. B. Laufzeitbibliotheken. Sie können das Image auf viele unterschiedliche Arten erstellen, zum Beispiel durch Erstellen einer App aus Quellcode mithilfe der Funktion zum Erstellen von Container-Images, die in Code Engine verfügbar ist. Das Image kann von einer öffentlichen oder privaten Image-Registry heruntergeladen werden. Weitere Informationen zum Zugriff auf private Registrys finden Sie unter Zugriff auf private Container-Registry hinzufügen.

    b. Geben Sie bei der Verwendung des Befehls app create in der Code Engine-Befehlszeilenschnittstelle den Namen des Images an, das für Ihre Anwendung verwendet wird, und zwar im Format REGISTRY/NAMESPACE/REPOSITORY:TAG; dabei sind REGISTRY und TAG optional. Wird REGISTRY nicht angegeben, ist docker.io der Standardwert. Wird TAG nicht angegeben, ist latest der Standardwert. Weitere Informationen zu dem Format, das für die Angabe des Repositorys für Ihr Image verwendet werden soll, finden Sie unter dem Befehl ibmcloud ce app create.

  4. Um sicherzustellen, dass Sie über Zugriff auf das referenzierte Image verfügen, überprüfen Sie die Position Ihres Image und bestätigen Sie, dass Sie über Berechtigungen für den Zugriff auf das Image verfügen.

    Wenn sich das Image in einer Container-Image-Registrierung wie Docker Hub oder IBM Cloud Container Registry befindet, überprüfen Sie, ob Sie den Registrierungszugang zu Code Engine hinzugefügt haben und ob Sie das richtige Registrierungsgeheimnis verwenden. Weitere Informationen zum Arbeiten mit Images in einer Container-Image-Registry finden Sie im Abschnitt zum Hinzufügen von Zugriff zu einer privaten Container-Registry.

  5. Wenn Sie die Option --memory oder --cpu mit dem Befehl app create angeben, müssen Sie bestätigen, dass Sie gültige Werte verwenden. Im folgenden Befehl sind die Werte, die für --memory und --cpu angegeben werden, nicht gültig. Beispiel:

    ibmcloud ce app create --name myapp  --image icr.io/codeengine/codeengine --memory 50Gi --cpu 20
    

    Beispielausgabe

    Creating application 'myapp'...
    FAILED
    memory parameter must be between 128Mi and 32Gi
    cpu parameter must be between .01 and 8.0
    

    Um die Fehler zu beheben, müssen Sie für die Option --memory einen Wert zwischen 128 Mi und 32 Gi und für die Option --cpu einen Wert zwischen 0,01 und 8,0 vCPU angeben.

  6. Wenn Sie eine Fehlermeldung erhalten, die darauf hinweist, dass das Ressourcenkontingent überschritten ist, löschen Sie Anwendungen oder Anwendungsrevisionen, bevor Sie weitere Anwendungen oder Anwendungsrevisionen bereitstellen können.

    • Verwenden Sie zum Verwalten Ihrer Apps den Befehl ibmcloud ce app list, um eine Liste aller Apps im aktuellen Projekt anzuzeigen. Verwenden Sie den Befehl ibmcloud ce app delete, um Apps nach Bedarf zu entfernen.

    • Verwenden Sie zum Verwalten Ihrer App-Revisionen den Befehl ibmcloud ce revision list, um alle Ihre App-Revisionen anzuzeigen.

  7. Zur Behebung des Problems mit der Docker Hub-Ratenbegrenzung können Sie die folgenden Aktionen ausführen.

    • Authentifizieren Sie sich mit Docker Hub, um die Ratenbegrenzung zu erhöhen. Achten Sie auf Docker Ratenbegrenzungen.

    • Extrahieren Sie das Image aus dem Docker Hub und veröffentlichen Sie das Image in einer anderen Registry, z. B. IBM Cloud® Container Registry. Extrahieren Sie anschließend Ihr Image mit einer Pull-Operation von der neuen Position.

Wenn diese Lösungen Ihr Problem nicht lösen, versuchen Sie zur weiteren Fehlersuche, die Protokolle oder die Systemereignisinformationen für Ihre Anwendung abzurufen. Weitere Informationen finden Sie unter How do I get logs for my apps und How do I get system event information for my apps(Wie bekomme ich Protokolle für meine Apps).

Weitere Informationen zum Arbeiten mit Apps finden Sie unter Apps implementieren.