Qual banco de dados meus aplicativos usarão se eu tiver um banco de dados instalado localmente ao lado do pod em execução no Kubernetes local?

Qual banco de dados meus aplicativos usarão se eu tiver um banco de dados instalado localmente ao lado do pod em execução no Kubernetes local?

Eu instalei mysqlna minha máquina Ubuntu. Eu também tenho uma implantação localmente em execução Kubernetese implantada e posso acessá-la usando o comando e, em seguida , .mysqlKuberneteskubectl exec -it mysql-b4769786-5hf4m shmysql -p

Estou um pouco confuso agora. Não sei, tenho dois bancos de dados separados, um rodando localmente no meu sistema operacional e o outro também rodando localmente, mas no meu cluster Kubernetes? Se sim, como posso chegar a cada um deles? Como devo saber se o shell com o qual estou trabalhando está conectado ao Kubernetes mysql ou ao meu sistema operacional mysql?

Ou quando eu escrever um aplicativo NodeJS, ele se conectará ao mysql instalado no Ubuntu ou ao pod mysql em execução no Kubernetes local?

Responder1

Na verdade, você tem dois bancos de dados diferentes. O contêiner pode até ter um sistema operacional totalmente diferente (imagem base).

Você pode verificar executando um teste simples:

  • crie um banco de dados "contêiner" dentro do contêiner MySQL

  • execute SHOW DATABASES; na outra instância do MySQL. Você não deveria encontrar nada.

Responder2

Você tem dois bancos de dados mysql: um em sua máquina Ubuntu e outro em kubernetesMAS Se você quiser usar o mysql no kubernetes da sua máquina Ubuntu, você precisa criar um Nodeport. Se você não expor o serviço mysql, seu aplicativo local em sua máquina Ubuntu não conseguirá se conectar ao pod mysql do kubernetes. Se você expor o pod mysql, use outra porta para evitar problemas com o mysql.

informação relacionada