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.
-
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.
-
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.
-
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
. -
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
. -
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
oucpu 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. -
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.
-
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.
-
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 oibmcloud ce app delete --name APP_NAME
para excluir o app antigo. O nome do app deve ser exclusivo dentro do seu projeto. -
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.
-
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 formatoREGISTRY/NAMESPACE/REPOSITORY:TAG
em queREGISTRY
eTAG
são opcionais. SeREGISTRY
não for especificado, o padrão serádocker.io
. SeTAG
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 comandoibmcloud ce app create
. -
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.
-
Se você especificar a opção
--memory
ou--cpu
com o comandoapp 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. -
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.
-
Para gerenciar seus apps, use o comando
ibmcloud ce app list
para exibir uma lista de todos os seus apps no projeto atual. Use o comandoibmcloud ce app delete
para remover apps conforme necessário. -
Para gerenciar suas revisões de app, use o comando
ibmcloud ce revision list
para exibir todas as suas revisões de app.
-
-
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.