Olá, Marcelo. Como vai?
Entendo perfeitamente o seu problema. Lidar com dependências de Charts do Helm às vezes nos coloca nessas situações onde uma versão específica de imagem é descontinuada ou movida do repositório (o famoso erro de manifest unknown).
Pela sua imagem, temos dois problemas acontecendo simultaneamente no seu StatefulSet:
1. Erro de Imagem (ImagePullBackOff)
O erro manifest for bitnami/mysql:9.4.0-debian-12-r3 not found confirma que essa tag específica não existe mais no Docker Hub da Bitnami. As imagens da Bitnami são atualizadas com muita frequência e as tags antigas costumam ser removidas.
2. Erro de Volume (PersistentVolumeClaims)
A mensagem pod has unbound immediate PersistentVolumeClaims indica que o Kubernetes não conseguiu encontrar um volume disponível para o MySQL salvar os dados. Isso geralmente acontece se você não tiver um StorageClass configurado no seu cluster ou se o provisionamento automático de disco falhou.
Como resolver?
Não é necessário trocar de Chart, o da Bitnami ainda é a melhor opção. Você pode apenas forçar uma versão de imagem que você sabe que existe.
Passo 1: Alterar a versão da imagem
No seu arquivo values.yaml (ou diretamente via linha de comando no helm install), você deve sobrescrever a tag da imagem para uma versão estável atual. Tente usar a tag 8.0 ou latest:
mysql:
image:
tag: 8.0.36-debian-11-r0 # Exemplo de uma tag estável
Ou via comando:
helm upgrade --install meu-mysql bitnami/mysql --set image.tag=8.0
Passo 2: Verificar os Volumes
Para o erro de PersistentVolumeClaims, verifique se o seu ambiente (Minikube, Kind ou Cloud) tem um provedor de armazenamento. Se estiver apenas testando, você pode desabilitar a persistência (apenas para fins de estudo, nunca em produção!) para que o pod suba:
mysql:
primary:
persistence:
enabled: false
Dica técnica:
Sempre que encontrar um erro de imagem da Bitnami, você pode conferir as tags disponíveis diretamente no Docker Hub oficial da Bitnami. Isso ajuda a encontrar a versão exata que substituiu a que o curso sugeriu.
Tente atualizar a tag da imagem para a 8.0 ou latest e veja se o erro do manifesto desaparece. Se o pod continuar travado em Pending, o foco deve mudar para a configuração do seu StorageClass.
Espero que possa ter lhe ajudado!