Partilhar via


Solucionar problemas ao publicar uma oferta de contêiner baseada em aplicativo Kubernetes

Uma vez publicada, uma oferta de contêiner baseada em aplicativo Kubernetes passa pelo seguinte fluxo de alto nível para processamento de pacotes.

Um diagrama mostrando os três estágios de processamento do pacote, fluindo de 'Copiar o pacote para um registro de propriedade da Microsoft' para 'Verificação de vulnerabilidade' para 'Registro de tipo de extensão'.

Primeiro, o conteúdo do Cloud Native Application Bundle (CNAB) é copiado do seu próprio registro para um Azure Container Registry (ACR) de propriedade da Microsoft. A partir daí, a verificação de vulnerabilidades é realizada para garantir que as imagens estejam seguras. Finalmente, o aplicativo Kubernetes é registrado como um tipo de extensão para um cluster do Serviço Kubernetes do Azure (AKS). Se a publicação falhar, pode ser um problema com um desses componentes. Veja abaixo os erros comuns e as etapas de mitigação relacionadas.

Falha na publicação com artefatos ausentes no CNAB

Erro Description Ação
"extensionRegistrationParameters não pode ser nulo ou vazio em manifest.yaml do seu pacote. Para obter mais informações, consulte Criar o arquivo de manifesto Os aplicativos Kubernetes são empacotados como extensões de cluster AKS. O arquivo de manifesto fornece entrada para a criação do tipo de extensão. Leia a descrição de cada propriedade e forneça as informações.
"namespace não pode ser nulo ou vazio para defaultScope como cluster em extensionRegistrationParameters em manifest.yaml do seu pacote. Para obter mais informações, consulte Criar o arquivo de manifesto Os aplicativos Kubernetes instalados no escopo do cluster usam o escopo padrão fornecido como o namespace. Certifique-se de fornecer um namespace na extensionRegistrationParameters seção em seu arquivo de manifesto

A publicação falha ao copiar os artefatos do ACR para um ACR de propriedade da Microsoft

Erro Description Ação
"O acesso ao registro {sourceACRName} foi negado. Você deve fornecer acesso ao registro do MarketPlace. Para obter mais informações, consulte Conceder acesso ao seu Registro de Contêiner do Azure Durante o processo de publicação, a Microsoft move seu aplicativo Kubernetes, que é empacotado como um CNAB e carregado em um ACR, para um registro de propriedade da Microsoft.

Para fazer isso, o aplicativo primário da Microsoft responsável por esse processo deve receber permissões. Este erro aparece se a publicação do Marketplace tiver sido feita sem fornecer as permissões.
Para obter mais informações, consulte Fornecer ao aplicativo primário da Microsoft as permissões adequadas.
"O repositório CNAB {cnabBundle} não pode ser encontrado no registro {sourceACRName}. Você deve fornecer acesso ao registro do MarketPlace. Para obter mais informações, consulte Conceder acesso ao seu Registro de Contêiner do Azure O aplicativo Kubernetes empacotado usando a ferramenta CPA não pode ser encontrado no seu ACR. Certifique-se de que o pacote foi carregado com êxito para o seu registo e forneça à aplicação principal da Microsoft as permissões adequadas.
"A CNAB foi atualizada sem atualizar a versão. Você deve publicar novamente e incrementar sua versão de {latestBundle.tag} para {currentTag.Major}. {currentTag.Minor}. {currentTag.Build + 1}." Um plano com a mesma versão já é publicado usando um CNAB diferente. Se o conteúdo do CNAB for alterado, incremente a versão do plano e tente publicar novamente.

A publicação falha com 'ResourceGroup AllowExisting deve ser definido como true no erro CreateUIDefinition's config'

Este erro ocorre se os parâmetros > config > basics > resourceGroup > allowExisting propriedade createUiDefinition.json no arquivo não existe ou não está definida como true.

Para corrigir esse erro, verifique se a propriedade está definida como true, conforme mostrado no exemplo abaixo:

Captura de tela de createUiDefinition.json arquivo com parâmetros apropriados.

Ao definir a propriedade 'allowExisting' como true, seu aplicativo pode ser implantado em um grupo de recursos que não está vazio. Para obter um arquivo CreateUIDefinition de exemplo, consulte o exemplo em createUiDefinition.json.

A publicação falha com erros da plataforma

Erro Description Ação
Erro de servidor interno Pode ser um erro transitório. Tente publicar novamente.

Análise de vulnerabilidades

Você também pode encontrar erros devido a vulnerabilidades em suas imagens. Para obter mais informações sobre a verificação de vulnerabilidades e como mitigar problemas, consulte Solução de problemas de certificação de contêineres.