
Lo he instalado mysql
en mi máquina Ubuntu. También tengo una implementación ejecutándose localmente Kubernetes
e implementada y puedo acceder a ella usando el comando, entonces .mysql
Kubernetes
kubectl exec -it mysql-b4769786-5hf4m sh
mysql -p
Estoy un poco confundido ahora. No sé, ¿tengo dos bases de datos separadas, una que se ejecuta localmente en mi sistema operativo y la otra también se ejecuta localmente pero en mi clúster de Kubernetes? Si es así, ¿cómo puedo comunicarme con cada uno de ellos? ¿Cómo debo saber que el shell con el que estoy trabajando está conectado a Kubernetes mysql o a mi sistema operativo mysql?
O cuando escribo una aplicación NodeJS, ¿se conectará al mysql instalado en Ubuntu o al pod mysql se ejecuta en Kubernetes local?
Respuesta1
De hecho, tienes dos bases de datos diferentes. El contenedor podría incluso tener un sistema operativo completamente diferente (imagen base).
Puede comprobarlo ejecutando una prueba sencilla:
crear una base de datos "contenedor" dentro del contenedor MySQL
ejecute MOSTRAR BASES DE DATOS; en la otra instancia de MySQL. No deberías encontrar nada.
Respuesta2
Tienes dos bases de datos mysql: una en tu máquina Ubuntu y otra en KubernetesPERO Si desea utilizar mysql en kubernetes desde su máquina Ubuntu, debe crear un Nodeport. Si no expone el servicio mysql, su aplicación local en su máquina Ubuntu no podrá conectarse al pod mysql de Kubernetes. Si expone el pod de MySQL, utilice otro puerto para evitar problemas de MySQL.