
Eu instalei mysql
na minha máquina Ubuntu. Eu também tenho uma implantação localmente em execução Kubernetes
e implantada e posso acessá-la usando o comando e, em seguida , .mysql
Kubernetes
kubectl exec -it mysql-b4769786-5hf4m sh
mysql -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.