Erro 401 Unauthorized - Credenciais inválidas
Problema
O código de status 401 Unauthorized significa que as credenciais de autenticação fornecidas são inválidas ou não reconhecidas ao interagir com o Magalu Cloud Container Registry.
Causas possíveis
- Credenciais inválidas ou resetadas: O token de acesso ou credencial de usuário fornecido ao Docker CLI ou ao Kubernetes está incorreto (por exemplo, devido a um reset de senha recente) ou não possui as permissões necessárias.
- Configuração incorreta: O nome do registry ou do repositório está incorreto, ou a
Secretdo Kubernetes não está configurada corretamente (por exemplo, problemas de escape de caracteres).
Diagnóstico
1. Falha ao usar Docker CLI (docker pull/push local)
- Pode indicar uso de credenciais desatualizadas.
- A região configurada no CLI pode estar incorreta.
- O endpoint usado no push/pull pode estar errado.
2. Falha dentro do Kubernetes (401 ao puxar imagem no pod)
- O campo
image:do Deployment pode estar incorreto. - A
Secretdo Kubernetes pode conter credenciais erradas ou mal codificadas. - Pode existir problema com caracteres especiais ao gerar a Secret.
Solução
Solução 1: Verificação da autenticação via CLI (Docker Client)
-
Refaça o login no Docker:
docker login container-registry.<região>.magalu.cloud -u <seu-usuario> -p <seu-token-de-acesso> -
Verifique a região da CLI:
mgc config get region -
Valide o registry e o repositório:
mgc container-registry registries listExemplo de uso correto:
docker push container-registry.br-se1.magalu.cloud/meu-projeto/minha-aplicacao:1.0.0
Solução 2: Verificação da autenticação no cluster (Kubernetes Pod)
-
Valide o Deployment:
Confirme que o campoimage:no manifesto do seu Deployment está apontando para o registry e repositório corretos. -
Inspecione o conteúdo da Secret:
kubectl get secret <nome-da-secret> -o jsonpath='{.data.<chave-do-registro>}' | base64 --decode -
Criação segura de Secrets (caracteres especiais):
Gere o conteúdo Base64 (sem quebras de linha):
cat ~/.docker/config.json | base64 -w0Aplique a Secret:
apiVersion: v1
kind: Secret
metadata:
name: <nome-da-secret>
namespace: <namespace>
type: kubernetes.io/dockerconfigjson
data:
.dockerconfigjson: "<conteúdo-base64-gerado>"
Conclusão
O erro 401 Unauthorized geralmente está relacionado a credenciais inválidas, região incorreta, endpoint errado ou Secret mal configurada no Kubernetes.
Seguir os passos de validação acima garante que tanto o Docker CLI quanto o cluster Kubernetes utilizem corretamente as credenciais do Magalu Cloud Container Registry.