IBM Cloud Docs
Por que a minha criação de app está falhando?

Por que a minha criação de app está falhando?

Não é possível criar um app. Quando você executar o comando ibmcloud ce app create na CLI ou implementar um app no console, a criação do aplicativo não será concluída com sucesso e exibirá uma mensagem de erro failed ou revision failed.

Se não for possível criar um app, determine se um dos casos a seguir é verdadeiro.

  1. O nome do seu app não é exclusivo dentro do projeto. Você recebe uma mensagem de erro que contém: Application 'myapp' already exists within project 'myproj', please select a unique name.

  2. O nome do seu app não é válido. Você recebe uma mensagem de erro que contém: An application name must consist of lowercase alphanumeric characters, '-' and must start with an alphabetic character and end with an alphanumeric character.

  3. Se a imagem que você referenciou não existir, a criação do app não será concluída e ocorrerá um erro. Você recebe uma mensagem de erro que contém: Unable to pull the image.

  4. Se você não tiver as permissões para acessar a imagem referenciada, a criação do app não será concluída e ocorrerá um erro. Você recebe uma mensagem de erro que contém: Unable to pull the image.

  5. A configuração de memória ou CPU não é válida. Você recebe uma mensagem de erro que contém memory parameter must be between .25 G and 32 G ou cpu parameter must be between .0125 and 8.0. Para obter mais informações sobre limites do Code Engine para apps, consulte Limites de aplicativos e padrões para Code Engine.

  6. A cota de recursos para apps ou revisões de app é atingida e o app (ou revisão de app) não é criado. O Code Engine tem cotas para apps e revisões dos apps dentro de um projeto. Para obter mais informações sobre limites do Code Engine, consulte Cotas de projetos.

  7. Se a imagem para seu app estiver localizada no Docker Hub e você receber uma mensagem de erro semelhante que indica que atingiu seu limite de taxa de extração do 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 ”
    

Tente uma dessas soluções.

  1. Para determinar se o nome do seu app é exclusivo no projeto, use o comando ibmcloud ce app list para listar todos os apps definidos e verificar se um app com o mesmo nome existe. Se um app com o mesmo nome existir, use o ibmcloud ce app delete --name APP_NAME para excluir o app antigo. O nome do app deve ser exclusivo dentro do seu projeto.

  2. Para confirmar se o nome do seu app é válido, verifique se o nome do seu app tem caracteres alfanuméricos minúsculos, '-' e se o nome é iniciado e termina com um caractere alfabético.

  3. Para confirmar se a imagem para seu app existe, revise a mensagem de erro para obter informações sobre a falha.

    a. Para implementar aplicativos no Code Engine, é necessário primeiro criar uma imagem de contêiner que tenha todos os artefatos de tempo de execução que seu aplicativo precisa executar, como bibliotecas de tempo de execução. É possível usar muitos métodos diferentes para criar a imagem, incluindo a construção do app por meio do código-fonte usando o recurso de construção de imagens de contêiner disponível no Code Engine. A sua imagem pode ser transferida por download por meio de um registro de imagem público ou privado. Para obter mais informações sobre como acessar registros privados, consulte Incluindo acesso a um registro privado de contêiner.

    b. Se você usar o comando app create na CLI do Code Engine, especifique o nome da imagem que é usada no seu aplicativo usando o formato REGISTRY/NAMESPACE/REPOSITORY:TAG em que REGISTRY e TAG são opcionais. Se REGISTRY não for especificado, o padrão será docker.io. Se TAG não for especificado, o padrão será latest. Para obter mais informações sobre o formato a ser usado para especificar o repositório para sua imagem, consulte o comando ibmcloud ce app create.

  4. Para confirmar se é possível acessar a imagem referenciada, verifique o local da sua imagem e confirme se você tem permissões para acessá-la.

    Se a imagem estiver localizada em um registro de imagem de contêiner, como Docker Hub ou IBM Cloud Container Registry, verifique se você incluiu o acesso de registro ao Code Engine e se está usando o segredo de registro correto. Para obter mais informações sobre como trabalhar com imagens em um registro de imagem de contêiner, consulte incluindo acesso a um registro de contêiner privado.

  5. Se você especificar a opção --memory ou --cpu com o comando app create, confirme que está usando valores válidos. No comando a seguir, os valores que são especificados para --memory e --cpu não são válidos; por exemplo,

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

    Saída de exemplo

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

    Para corrigir erros, configure a opção --memory entre 128 Mi e 32 Gi, e configure a opção --cpu entre 0,01 e 8,0 vCPUs.

  6. Se você receber uma mensagem de erro que indica que a cota de recursos foi excedida, exclua apps ou revisões de app antes de implementar apps ou revisões de app adicionais.

  7. Para abordar o problema de limite de taxa do hub do Docker, é possível executar as ações a seguir.

    • Autentique com o Docker Hub para aumentar o limite de taxa. Esteja ciente dos Docker limites de taxa.

    • Extraia a imagem do Docker Hub e publique a imagem em um registro diferente, como IBM Cloud® Container Registry. Em seguida, extraia a sua imagem do novo local.

Se essas soluções não resolverem seu problema, para depurar ainda mais, tente recuperar os logs ou as informações do evento do sistema para o seu app. Para obter mais informações, consulte Como obter logs para meus apps e Como obter informações de eventos do sistema para meus apps.

Para saber mais sobre como trabalhar com apps, consulte Implementando apps.