Ei, Eduardo! Tudo bem?
Sobre o acesso negado ao MySQL no Kubernetes com Helm, a mensagem indica que a aplicação conseguiu encontrar o banco de dados, mas o MySQL recusou a autenticação do usuário root.
O trecho abaixo ajuda a identificar a causa:
Access denied for user 'root'@'10.244.1.70' (using password: YES)
Nesse caso, o endereço 10.244.1.70 é o IP do Pod que está tentando acessar o banco. Isso significa que a conexão foi estabelecida, porém o usuário root não possui permissão para acessar o MySQL a partir desse host ou a senha configurada não corresponde à cadastrada no banco.
Pontos importantes para verificar:
- Confirme se a senha definida no Secret do Kubernetes é a mesma utilizada pelo container do MySQL.
- Verifique se as variáveis de ambiente dos serviços pedidos e pagamentos apontam para o mesmo usuário e senha configurados no banco.
- Confira se o banco foi recriado após alguma alteração de senha. Caso exista um Persistent Volume, o MySQL pode continuar utilizando as credenciais antigas armazenadas no volume.
Como forma de validar as credenciais, você pode acessar o Pod do MySQL e tentar a autenticação manualmente:
kubectl exec -it mysql-0 -- mysql -u root -p
Esse comando abre um terminal no Pod do MySQL e tenta realizar o login com o usuário root. Se o acesso falhar, o problema está relacionado às credenciais ou às permissões do usuário.
Caso queira verificar quais variáveis de ambiente estão chegando ao container da aplicação, utilize:
kubectl describe pod nome-do-pod
Esse comando exibe a configuração do Pod, incluindo as variáveis de ambiente e os Secrets utilizados, ajudando a confirmar se a senha e o usuário foram carregados corretamente.
Espero que dê certinho e conte sempre conosco por aqui.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!