1
resposta

[Bug] Erro ao iniciar pods do mysql

Eu consigo fazer a instalação do chart com o comando helm dependency update normalmente:

Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "kubernetes-dashboard" chart repository
...Successfully got an update from the "bitnami" chart repository
Update Complete. ⎈Happy Helming!⎈
Saving 1 charts
Downloading mysql from repo https://charts.bitnami.com/bitnami
Deleting outdated charts

Porém, o pod e o statefulset do mysql não sobem pois não encontram a imagem do mysql. Segue prints do dashboard:
Log de erro
Log de erro

Essa imagem é a definida no chart instalado do mysql
Aparentemente, a imagem não está definida no docker hub, pois nem com docker pull eu estou conseguindo baixá-la. Teria algum outro chart do mysql para substituir esse da bitnami?

1 resposta

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!