Yo sé que el título del vídeo va a ser wow, aquí vamos a hacer todo, pero básicamente es hacer la
configuración del servicio, definir nuestro pod y el departament, que sería el blueprint de cómo nosotros
vamos a desplegar nuestro POD.
Técnicamente, ustedes no van a venir y crear el POD.
Bueno, técnicamente se puede hacer, pero ustedes van a crearse un diploma en el cual ya viene con
la configuración del POD.
Por eso es que todo lo agrupo en uno solo y vamos a comenzar.
Entonces ya van a ver que no es tan complicado eventualmente entrar en detalles donde hay más terminología
y más detalles.
Pero vamos a ver, que no es tan difícil.
Si seguimos de la mano la documentación, voy a crear un archivo que se va a llamar PostgreSQL.
Punto.
Llamo.
Configuración variables entorno variable, entorno privadas, por decirlo así, secretas.
Y aquí vamos a tener nuestro diploma.
Voy a regresar a la documentación de Cuba Hornets y busquen diplomas.
La primera opción.
Busquemos un Diplomat.
Y aquí tenemos.
Ok, vamos a copiar todo esto.
Cómo piense todo esto con el C voy a revisar, peguen y leamos que es lo que tenemos.
Aquí tenemos el API version ups version uno, ese es el nombre de la version.
Si ustedes tienen alguna duda con características propiamente, pueden venir a la documentación y hojearlo.
El tipo es un diplomat.
La metadata es de tener más sentido, pero en este caso es el name para poderlo identificar, al igual
que los labels.
Tenemos el speed, que básicamente aquí ya viene la definición de nuestro pod, tenemos la cantidad
de réplicas, es decir, cuántas copias voy a querer de este pod?
El selector matching label que también nuevamente va a servir para hacer las conexiones entre si todos
estos estos matching.
Labels ustedes le pueden poner cualquier cantidad de nombres y también le podrían poner como server,
pero técnicamente es un estándar que se llame app y luego el nombre.
Lo mismo con los labels.
El spec es básicamente la definición del contenedor que nosotros vamos a querer montar o contenedores
que nosotros vamos a querer montar y su y sus respectivas variables de entorno.
Básicamente lo que tenemos aquí sería el Blueprint o plano, que podríamos verlo así.
Es similar a un llamado field, en donde llamo si no al Docker con posse field, el cual nosotros definimos
todo.
Solo que aquí hay un paso, unos pasos adicionales y también tiene ciertas configuraciones para que
nosotros nos permita poder conectarlo con nuestras variables de entorno, que sería nuestro config map
o los secretos.
Entonces, en este caso yo no quiero desplegar la imagen de nginx.
Yo lo que voy a desplegar aquí va a ser la imagen de PostScript porque necesito la base de datos.
Entonces va a ser PostgreSQL y van a poner la versión 15.1.
Si no estoy mal, esta la que hemos venido utilizando, pero adicionalmente en la imagen de PostgreSQL
aquí yo la tengo seleccionada.
Van a ver que tenemos el password.
Entre nosotros ocupamos mandarle cual es el paso de la base de datos y también el usuario que por defecto
el usuario va a ser post rest.
Entonces está bien, podemos dejarlo con este usuario o cambiarle su usuario, pero por lo menos solo
quiero empezar poco a poco porque el último contenedor que nosotros vamos a montar sí va a tener un
montón de conexiones con otro montón de servicios.
Entonces nuevamente vamos a tratar de hacerlo paso por paso.
Entonces nombre la imagen va a ser PostgreSQL en la versión 15.1, el nombre va a ser PostgreSQL.
No me iré de este contenedor.
El puerto, si bien es cierto, yo puedo venir a mis archivos de configuración, ya lo vamos a utilizar
para poner el puerto 54 32, que ese es el puerto que tengo aquí.
Ya lo vamos a hacer manualmente, es decir, ya lo vamos a seleccionar de su archivo, pero por ahora
caminemos antes de correr.
Y básicamente esta es la configuración del contenedor.
Pero también me hace falta esas variables de entorno que el contenedor necesita, que en este caso sería
el posibles password.
Entonces voy a presionar un Enter, voy a colocar justo abajo del container post y MB Ojo, que tiene
que ser en este mismo nivel y en V dos puntos enter menos espacio.
Y esto es para empezar a crear una lista de valores, o sea una lista de de tuppers.
En este caso necesito una variable de entorno que va a ser el PostgreSQL password.
Entonces el name va a ser post, es password literalmente.
Y como venga el nombre de la variable de entorno que yo necesito, técnicamente podría mandarle aquí
el válido y el válido va a ser ta, qué sé yo.
Esta es la contraseña de DS de esa base de datos que o que va a utilizar este contenedor, pero no es
así.
Yo necesito tomarlo de acá.
Ok, Yo necesito tomarlo de aquí como lo hago.
Bueno, voy a tomar el Value from, es decir, el valor normal o el valor desde algún lugar.
Dos puntos.
Enter, Tab.
Y esto que es?
Es un secreto o es un archivo de configuración o un config map?
Que es un secreto o es un coffee?
Es un secreto?
Entonces sería Secret Secret check o con la CA mayúscula Ref Referencia a un secreto que van a presionar
enter tab.
Y ahora viene el nombre del secreto que nosotros estamos buscando, que en este caso sería este de aquí.
Que postres secretos.
Necesito que vaya y lo busque en la definición de este postre, Secrets.
Y ahí adentro va a buscar el Ki.
Que se llama Cómo?
Ups, que se llama Divi password.
Eso es lo que quiero hacer.
Técnicamente, cuando usemos el confirmar que es literalmente lo mismo.
Solo que no dice Secrets va a ser confirmar Rev.
Pero es el nombre de la variable de entorno y de dónde lo va a obtener.
Por ahora voy a poner aquí réplicas en uno porque no quiero varias réplicas de esta base de datos y
vamos con los cambios de nombres del Department.
Voy a seleccionar aquí en Jeunesse y básicamente quiero cambiar todo eso en Index por PostgreSQL.
Y gánense los cambios.
Ok?
Esto es básicamente mi blueprint para la creación de la base de datos.
Ok, Técnicamente, más de uno va a decir Bueno, pero.
Por qué no simplemente lo hacemos con un Doc?
Será más sencillo porque aquí realmente hay más interacciones del DO que cuando lo hacíamos con un doble
con post.
Es más simple.
No hay tanta interacción entre contenedores, no hay réplicas, no hay IP estáticas, no hay manera
de comunicarse, entre otros contenedores.
Bueno, sí, hay una manera, pero no hay una manera de asignar sus direcciones IP estáticas mediante
servicios.
Entonces, hay varias razones por las cuales esta parte de Cubo Nets nació y no simplemente usar un
Docker con post.
Ahora lo que nos hace falta.
Enter y váyase al inicio de la tabulación y van a presionar menos, menos, menos.
Esto no es nada de de.
Esto es simplemente para la configuración de Yahoo.
Diré que voy a comenzar un nuevo archivo aquí abajo.
Simplemente es eso.
Es como si ustedes.
Bueno, técnicamente, podrían venir y hacer todo esto de un solo así podrían técnicamente hacerlo así.
Ir creando todo en un solo archivo.
Pero se prefiere separarlo.
Pero el servicio siempre va a estar de la mano con el diploma.
Entonces, por eso lo voy a colocar acá.
Ahora ocupamos el servicio, el servicio de lo mismo.
Business Service es.
Está service.
Bajen un poco más y aquí tenemos la definición del servicio, que es mucho más pequeño.
Compense todo esto.
Regresen a Visual Studio Code, Peguen o Happy Versión versión uno Km Service.
El nombre del servicio.
Voy a borrarle esa parte y aquí va a ser PostgreSQL Service, que casualmente este servicio se llama
igual que el servicio que le puse aquí.
Ok.
Pedigree service, Pedigree Service.
Porque ese es el servicio que se va a encargar de comunicar en el cluster, que internamente va a haber
un servicio que se que va a permitir conectarse a esta base de datos o al contenedor o réplicas que
yo tengo conectados aquí.
Entonces ok, Pedigree Service spec que es básicamente la especificación, el selector.
Nosotros le vamos a poner aquí básicamente el nombre, nuestro app, y el nombre va a ser PostgreSQL.
Los puertos que se van a utilizar aquí es básicamente la forma del mapeo para decirle a mi servicio.
Eh?
Este es el.
Ese es el mundo exterior.
Hay todo clúster o.
Escuchen, este es el puerto en el cual está abierto para que ustedes hagan la comunicación.
Básicamente, eso es lo que hace el servicio y el puerto.
Cuál es?
Recuerden el puerto que nosotros teníamos en el container por ese 54 32.
Y este usualmente se consume.
Se acostumbra poner lo mismo.
Este puede ser cualquier puerto.
Cualquier puerto.
Dios mío, Cualquier puerto.
Es decir, ustedes pueden ponerle aquí el puerto.
54, 32, 22.
Y eso sería el puerto en el cual todo el mundo fuera de este servicio va a tener que utilizar para conectarse
al puerto.
54 32.
Que lo tengo enlazado con el contenedor o las réplicas, pero usualmente se pone el mismo para que sea
más fácil de acordarse y todo lo demás.
Pero recuerden el target port.
Esto es lo que se va a conectar con el puerto que tenemos aquí.
Básicamente eso se acostumbra de que estos sean iguales.
Voy a grabar los cambios nuevamente.
Esto es como cuando ustedes hacían el match del puerto 80 de su computadora con el puerto X del E con
el contenido básicamente lo mismo.
Ok, voy a grabar los cambios, dejémoslo así.
Y en la próxima clase levantemos todo esto para ver si está funcionando.
También les voy a dar un par de tips para hacer Travel Sur en el caso de que alguno se levante y que
podamos observar los errores, analizarlo, ver los logs y tratar de resolver estos problemas que puede
ser que pasen porque van a pasar problemas.
Entonces nuevamente para mí es importante que ustedes los puedan depurar también los veo en la próxima
clase.