Solucionar problemas de streaming de artefatos
As etapas de solução de problemas neste artigo podem ajudá-lo a resolver problemas comuns que você pode encontrar ao usar o streaming de artefatos no ACR (Registro de Contêiner do Azure). Essas etapas e recomendações podem ajudar a diagnosticar e resolver problemas relacionados ao streaming de artefatos, bem como fornecer insights sobre os processos e logs subjacentes para fins de depuração.
Sintomas
- Falha na operação de conversão devido a um erro desconhecido.
- Solução de problemas de implantações de pod do AKS com falha.
- As condições do pod indicam "UpgradeIfStreamableDisabled".
- Use o código hash em vez de marca para o artefato de streaming.
Causas
- Problemas com autenticação, latência de rede, recuperação de imagem, operações de streaming ou outros problemas.
- Problemas com pull ou streaming de imagem, configurações de artefatos de streaming, fontes de imagem e restrições de recursos.
- Problemas com as configurações ou permissões do ACR.
Falha na operação de conversão
Código de erro | Mensagem de Erro | Informações da solução de problemas |
---|---|---|
UNKNOWN_ERROR | Falha na operação de conversão devido a um erro desconhecido. | Causado por um erro interno. Uma repetição ajuda aqui. Se a nova tentativa não funcionar, entre em contato com o suporte. |
RESOURCE_NOT_FOUND | Falha na operação de conversão porque o recurso de destino não foi encontrado. | Se a imagem desejada não for encontrada no Registro, confira se não há os erros de digitação no código hash da imagem. Se a imagem tiver sido excluída ou não estiver disponível na região desejada (considerando que a consistência da replicação pode não ser instantânea, por exemplo) |
UNSUPPORTED_PLATFORM | Atualmente, não há suporte para conversão na plataforma de imagem. | Inicialmente, há suporte para apenas imagens linux/amd64. |
NO_SUPPORTED_PLATFORM_FOUND | Atualmente, não há suporte para conversão em nenhuma das plataformas de imagem no índice. | Inicialmente, há suporte para apenas imagens linux/amd64. Nenhuma imagem com essa plataforma é encontrada no índice de destino. |
UNSUPPORTED_MEDIATYPE | Não há suporte para conversão da imagem MediaType. | A conversão só pode direcionar imagens com os seguintes tipos de mídia: application/vnd.oci.image.manifest.v1+json, application/vnd.oci.image.index.v1+json, application/vnd.docker.distribution.manifest.v2+json ou application/vnd.docker.distribution.manifest.list.v2+json |
UNSUPPORTED_ARTIFACT_TYPE | Não há suporte para conversão para a imagem ArtifactType. | Artefatos de Streaming (Tipo de artefato: application/vnd.azure.artifact.streaming.v1) não podem ser convertidos novamente. |
IMAGE_NOT_RUNNABLE | Não há suporte para conversão para imagens não executáveis. | Inicialmente, há suporte para apenas imagens executáveis linux/amd64. |
Solução de problemas de implantações de pod do AKS com falha
Se a implantação do pod do AKS falhar com um erro relacionado ao pull de imagem, como o exemplo a seguir.
Failed to pull image "mystreamingtest.azurecr.io/jupyter/all-spark-notebook:latest":
rpc error: code = Unknown desc = failed to pull and unpack image
"mystreamingtest.azurecr.io/latestobd/jupyter/all-spark-notebook:latest":
failed to resolve reference "mystreamingtest.azurecr.io/jupyter/all-spark-notebook:latest":
unexpected status from HEAD request to http://localhost:8578/v2/jupyter/all-spark-notebook/manifests/latest?ns=mystreamingtest.azurecr.io:503 Service Unavailable
Para solucionar esse problema, verifique as diretrizes a seguir:
- Verificar se o AKS tem permissões para acessar o registro de contêiner
mystreamingtest.azurecr.io
. - Verifique se o registro de contêiner
mystreamingtest.azurecr.io
está acessível e anexado corretamente ao AKS.
Verificar a condição do pod UpgradeIfStreamableDisabled:
Se a condição do pod do AKS mostrar "UpgradeIfStreamableDisabled", verifique se a imagem é de um Registro de Contêiner do Azure.
Usar código hash em vez de marca para o artefato de streaming:
Se você implantar o artefato de streaming usando resumo em vez de marca (por exemplo, mystreamingtest.azurecr.io/jupyter/all-spark-notebook@sha256:4ef83ea6b0f7763c230e696709d8d8c398e21f65542db36e82961908bcf58d18), o evento de pod do AKS e a mensagem de condição não incluirão informações relacionadas ao streaming. No entanto, você vê a inicialização rápida do contêiner como o mecanismo de contêiner subjacente. Esse mecanismo transmitirá a imagem para o AKS se ele detectar que o conteúdo real da imagem pode ser transmitido.