1
resposta

[Dúvida] Os dados no banco de dados não seriam perdidos caso haja problema no Container?

Pelo que eu entendi sobre a composição de um container, será usado a imagem do MySQL e colocado um camada de Read/Write sobre a imagem, que se perde no momento em que aquele container deixa de existir.

No momento que colocamos esse container dentro de um pod, o kubernets tem a característica de que se houver algum problema com aquele pod ele é substituído por um novo pod. Ou seja, outro container é criado e vinculado a esse novo pod, correto? Se essa afirmação for verdadeira não teríamos um risco nessa arquitetura? Pois perderíamos todos os dados persistidos.

1 resposta

Olá, João.

Tudo bem?

Desculpa a demora, estou respondendo esse tópico para tentar ajudar você e outros alunos que estiverem com essa mesma dúvida. Valeu :)

Entendo a sua preocupação em relação aos dados no banco de dados em caso de problemas com o container. No Kubernetes, quando um pod é substituído devido a algum problema, um novo container é criado e vinculado a esse novo pod. No entanto, os dados persistidos no banco de dados não são perdidos, pois o banco de dados em si não está dentro do container, mas sim em um serviço separado.

No seu caso específico, o MySQL está sendo executado em um pod e o banco de dados está sendo armazenado em um serviço chamado "svc-db-noticias". Esse serviço é responsável por fornecer acesso ao banco de dados para outros componentes do cluster. Mesmo que o pod seja substituído, o serviço permanece intacto, garantindo que os dados persistidos no banco de dados não sejam perdidos.

É importante lembrar que, para garantir a persistência dos dados, é necessário configurar o banco de dados corretamente. No exemplo que você mencionou, o problema de reinicialização indefinida do container do MySQL foi causado pela falta de definição das variáveis de ambiente necessárias, como a senha do banco, o nome do banco e a senha de root. Na próxima aula, você aprenderá como utilizar variáveis de ambiente com o Kubernetes para definir essas informações.

Espero ter esclarecido a sua dúvida! Se tiver mais alguma pergunta, é só me dizer.

Espero ter ajudado e bons estudos!