¿Qué base de datos usarán mis aplicaciones si tengo una base de datos instalada localmente junto al pod que se ejecuta en Kubernetes local?

¿Qué base de datos usarán mis aplicaciones si tengo una base de datos instalada localmente junto al pod que se ejecuta en Kubernetes local?

Lo he instalado mysqlen mi máquina Ubuntu. También tengo una implementación ejecutándose localmente Kubernetese implementada y puedo acceder a ella usando el comando, entonces .mysqlKuberneteskubectl exec -it mysql-b4769786-5hf4m shmysql -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.

información relacionada