Verificar a conexão com o registro de contêiner
Este artigo faz parte de uma série. Comece com a visão geral.
Para implantar com êxito aplicativos em contêineres em seu cluster do Serviço Kubernetes do Azure (AKS), é essencial verificar a conectividade entre o cluster e o registro do contêiner. Esta etapa garante que os nós de trabalho tenham as permissões necessárias para extrair as imagens de contêiner necessárias do Registro.
Identificar sintomas
Quando o kubelet executado em um nó de agente cria os contêineres para um pod, um ou mais contêineres podem acabar no estado de espera devido ao ImagePullBackOff
erro. ImagePullBackoff é uma mensagem de erro comum no Kubernetes que indica uma falha ao extrair a imagem de contêiner necessária de um registro público ou privado. Vários fatores podem causar esse erro, incluindo problemas de conectividade de rede, um nome de imagem ou tag incorreto, permissões insuficientes ou credenciais ausentes.
A BackOff
parte do status significa que o Kubernetes tenta continuamente puxar a imagem com um atraso crescente entre cada tentativa subsequente. O atraso aumenta gradualmente até atingir um limite predeterminado, que normalmente é definido como 300 segundos (5 minutos) no Kubernetes.
É importante verificar novamente a precisão do registro e do nome da imagem. Além disso, certifique-se de que seu cluster AKS tenha as permissões necessárias para extrair imagens do registro de contêiner apropriado.
Atribuições de funções
Quando você anexa um registro de contêiner a um cluster AKS existente, a função AcrPull é atribuída automaticamente sobre o registro à identidade gerenciada do Microsoft Entra associada aos pools de agentes em seu cluster AKS. Para obter mais informações, consulte Autenticar com o registro de contêiner do AKS.
Execute o seguinte comando para recuperar a identidade gerenciada kubelet de um cluster Kubernetes e suas atribuições de função atuais:
# Get the kubelet managed identity.
ASSIGNEE=$(az aks show -g $RESOURCE_GROUP -n $NAME --query identityProfile.kubeletidentity.clientId -o tsv)
az role assignment list --assignee $ASSIGNEE --all -o table
Execute o seguinte comando para atribuir a AcrPull
função à identidade gerenciada kubelet:
AZURE_CONTAINER_REGISTRY_ID=$(az acr show --name <container-registry-name> --query id --output tsv)
az role assignment create --assignee $ASSIGNEE --scope $AZURE_CONTAINER_REGISTRY_ID --role acrpull
Solucionar problemas do Registro de Contêiner
As seções a seguir fornecem guias aos quais você pode consultar se encontrar problemas de rede, entrada ou desempenho com um registro de contêiner do Azure.
Solucionar problemas de rede
Se você encontrar problemas relacionados ao acesso a um registro de contêiner do Azure em uma rede virtual ou atrás de um firewall ou servidor proxy, considere as seguintes soluções:
- Configure o acesso ao firewall do cliente.
- Configure o acesso público ao Registro.
- Configure o acesso à rede virtual.
- Configure o acesso para serviços.
Resolver problemas de início de sessão
Se você encontrar problemas de autenticação e autorização ao entrar em um registro de contêiner do Azure, considere as seguintes soluções:
- Verifique a configuração do Docker em seu ambiente.
- Especifique o nome do Registro correto.
- Verifique as credenciais para acessar o registro.
- Configure o acesso público ao Registro.
- Solucione problemas de entrada no Registro.
- Verifique se as credenciais não expiraram.
Solucionar problemas de desempenho
Se você encontrar problemas de desempenho com um registro de contêiner do Azure, considere as seguintes soluções:
- Habilite o cache de artefatos.
- Verifique a velocidade da conexão de rede.
- Inspecione o hardware do cliente que pode afetar a compactação da camada de imagem ou a velocidade de extração.
- Analise os limites configurados na camada de serviço ou no ambiente do Registro.
- Configure o registro replicado geograficamente para um desempenho ideal com réplicas em regiões próximas.
- Otimize a configuração de DNS para extrair de uma réplica de registro geograficamente distante.
Esses guias podem ajudá-lo a garantir uma recuperação de imagem perfeita para seu cluster AKS e garantir o bom funcionamento de suas cargas de trabalho.
Integrar um registro de contêiner de terceiros
Ao usar um registro de contêiner de terceiros, você precisa criar as credenciais apropriadas ImagePullSecret
para o registro para que seu cluster AKS possa acessar com segurança as imagens de contêiner. Para obter mais informações, consulte Criar um segredo de pull de imagem. Certifique-se de configurar as permissões e credenciais corretas para que possa verificar a conexão com o registro de contêiner e habilitar seu cluster AKS para extrair com êxito as imagens de contêiner necessárias durante as implantações. Essa prática recomendada ajuda a garantir uma execução suave e confiável de suas cargas de trabalho em contêineres no Kubernetes.
Contribuidores
Este artigo é mantido pela Microsoft. Foi originalmente escrito pelos seguintes contribuidores.
Principais autores:
- Paolo Salvatori - Brasil | Engenheiro de Clientes Principal
- Francis Simy Nazareth - Brasil | Especialista Técnico Sénior
Para ver perfis não públicos do LinkedIn, inicie sessão no LinkedIn.