Perché la creazione della mia app non riesce?

Non puoi creare un'applicazione. Quando esegui il comando ibmcloud ce app create nella CLI o distribuisci un'applicazione nella console, la creazione dell'applicazione non viene completata correttamente e viene visualizzato un messaggio di errore failed o revision failed.

Se non puoi creare un'applicazione, determina se uno dei seguenti casi è true.

  1. Il nome della tua app non è univoco all'interno del progetto. Si riceve un messaggio di errore contenente Application 'myapp' already exists within project 'myproj', please select a unique name.

  2. Il nome dell'applicazione non è valido. Si riceve un messaggio di errore contenente An application name must consist of lowercase alphanumeric characters, '-' and must start with an alphabetic character and end with an alphanumeric character.

  3. Se l'immagine a cui hai fatto riferimento non esiste, la creazione dell'app non viene completata e si verifica un errore. Si riceve un messaggio di errore contenente Unable to pull the image.

  4. Se non si dispone delle autorizzazioni per accedere all'immagine di riferimento, la creazione dell'applicazione non viene completata e si verifica un errore. Si riceve un messaggio di errore contenente Unable to pull the image.

  5. L'impostazione della memoria o della CPU non è valida. Si riceve un messaggio di errore che contiene memory parameter must be between .25 G and 32 G o cpu parameter must be between .0125 and 8.0.Per ulteriori informazioni sui limiti Code Engine per le applicazioni, vedi Limiti e valori predefiniti delle applicazioni per Code Engine.

  6. La quota di risorse per le app o le revisioni dell'app è stata raggiunta e l'applicazione (o la revisione dell'applicazione) non è stata creata. Code Engine ha quote per applicazioni e revisioni delle applicazioni all'interno di un progetto. Per ulteriori informazioni sui limiti Code Engine, vedi Quote del progetto.

  7. Se l'immagine per la tua applicazione si trova nell'hub Docker e ricevi un messaggio di errore simile che indica che hai raggiunto il limite di frequenza di pull 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 ”
    

Provate una di queste soluzioni.

  1. Per determinare se il nome della tua applicazione è univoco all'interno del progetto, utilizza il comando ibmcloud ce app list per elencare tutte le applicazioni definite e verificare se esiste un'app con lo stesso nome. Se esiste un'applicazione con lo stesso nome, utilizzare ibmcloud ce app delete --name APP_NAME per eliminare la vecchia applicazione. Il nome dell'app deve essere univoco all'interno del progetto.

  2. Per confermare che il nome della tua applicazione è valido, controlla che il nome della tua applicazione sia composto da caratteri alfanumerici minuscoli, '-', e che il nome inizi e termini con un carattere alfabetico.

  3. Per confermare che l'immagine per la tua applicazione esiste, esamina il messaggio di errore per informazioni sull'errore.

    a. Per distribuire le applicazioni in Code Engine, devi prima creare un'immagine del contenitore che abbia tutte le risorse di runtime che la tua applicazione deve eseguire, come ad esempio le librerie di runtime. Puoi utilizzare molti metodi differenti per creare l'immagine, inclusa la creazione della tua applicazione dal codice sorgente utilizzando la funzione build container images disponibile in Code Engine. La tua immagine può essere scaricata da un registro di immagini pubblico o privato. Per ulteriori informazioni sull'accesso ai registri privati, vedi Aggiunta dell'accesso a un registro del contenitore privato.

    b. Se utilizzi il comando app create nella CLI Code Engine, specifica il nome dell'immagine utilizzata per la tua applicazione utilizzando il formato REGISTRY/NAMESPACE/REPOSITORY:TAG dove REGISTRY e TAG sono facoltativi. Se REGISTRY non è specificato, il valore predefinito è docker.io. Se TAG non è specificato, il valore predefinito è latest. Per ulteriori informazioni sul formato da utilizzare per specificare il repository per la tua immagine, vedi il comando ibmcloud ce app create.

  4. Per confermare che puoi accedere all'immagine di riferimento, verifica l'ubicazione della tua immagine e conferma di disporre delle autorizzazioni per accedere all'immagine.

    Se l'immagine si trova in un registro di immagini del contenitore, come Docker Hub o IBM Cloud Container Registry, controlla di aver aggiunto l'accesso al registro a Code Engine e che stai utilizzando il segreto del registro corretto. Per ulteriori informazioni sull'utilizzo delle immagini in un registro delle immagini del contenitore, vedi aggiunta dell'accesso a un registro del contenitore privato.

  5. Se si specifica l'opzione --memory o --cpu con il comando app create, confermare che si stanno utilizzando valori validi. Nel seguente comando, i valori specificati per --memory e --cpu non sono validi; ad esempio,

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

    Output di esempio

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

    Per correggere gli errori, impostare l'opzione di --memory tra 128 Mi e 32 Gi e impostare l'opzione --cpu tra 0.01 e 8.0 vCPU.

  6. Se ricevi un messaggio di errore che indica che la quota della risorsa è stata superata, elimina le applicazioni o le revisioni dell'app prima di poter distribuire ulteriori applicazioni o revisioni dell'applicazione.

    • Per gestire le tue app, utilizza il comando ibmcloud ce app list per visualizzare un elenco di tutte le tue app nel progetto corrente. Utilizzare il comando ibmcloud ce app delete per rimuovere le app come necessario.

    • Per gestire le tue revisioni dell'applicazione, utilizza il comando ibmcloud ce revision list per visualizzare tutte le tue revisioni dell'applicazione.

  7. Per risolvere il problema del limite di frequenza dell'hub Docker, puoi eseguire queste azioni.

    • Eseguire l'autenticazione con Docker Hub per aumentare il limite di velocità. Tieni presente i limiti di frequenzaDocker.

    • Esegui il pull dell'immagine da Docker Hub e pubblica l'immagine in un registro diverso, come IBM Cloud® Container Registry. Quindi, estrai la tua immagine dalla nuova posizione.

Se queste soluzioni non risolvono il problema, per un ulteriore debug, provare a richiamare i log o le informazioni sugli eventi di sistema per la propria applicazione. Per ulteriori informazioni, vedi Come ottengo i log per le mie applicazioni e Come ottengo le informazioni sugli eventi di sistema per le mie applicazioni.

Per ulteriori informazioni sull'utilizzo delle applicazioni, vedi Distribuzione delle applicazioni.