‫Así
‫que vamos a ir rápido.
‫Todo bien.
‫Luego vamos a terminar el espectáculo porque hemos pasado nuestra hora.
‫Quiero darles algunos comentarios.
‫Todo bien.
‫El primero en subir es Jacob.
‫Aquí hay mucha documentación. Por cierto, me encanta la documentación de Dockerfiles.
‫Está totalmente bien poner todo lo que quieras.
‫En realidad, se trata de un archivo YAML, por lo que ahora estamos hablando de Redactar. Documentación en Dockerfiles o Compose
‫files. De todas formas.
‫Siempre es algo bueno.
‫Todo bien.
‫Entonces está usando una versión 3. 0 7, lo que significa que probablemente sea
‫para Swarm o algo en producción como Kubernetes usando el conjunto de características Compose on Kubernetes.
‫Está usando las imágenes oficiales de Elastic de Elastic allí.
‫Veamos que tienes tu chequeo de salud.
‫Fantástico.
‫Tienes chequeos de salud. Eso es genial. Tienes configuraciones.
‫Eso es genial.
‫Lo está configurando en una red específica y está haciendo el modo de host
‫en el puerto, por lo que le está dando acceso directo a la NIC en lugar de pasar por las redes superpuestas y la malla
‫de enrutamiento.
‫Eso es bueno.
‫Entonces, veamos.
‫Tenemos que desplegarnos aquí.
‫Ah, y estás haciendo round robin de DNS en modo de punto final.
‫Felicitaciones a usted.
‫Esto es algo de lo que mucha gente no se da cuenta.
‫Siempre que esté ejecutando algo en Swarm y desee deshabilitar la IP virtual que se encuentra frente a cada servicio de superposición, debe hacerlo para
‫las bases de datos en las que solo tiene un nodo, correcto, que es muchas veces incluso si Estás haciendo un espejo
‫de una base de datos que usualmente estás ejecutando cada uno de ellos en
‫su propio servicio.
‫Entonces, hay una instancia en un servicio y esa tarea de esa instancia de un contenedor, por lo general, no desea esa IP virtual frente a
‫ella porque ahora es un salto adicional. Es otra traducción NAT.
‫Son más problemas potenciales.
‫Si configura el modo de punto final en DNS round robin aquí, eso efectivamente apaga el VIP y tiene acceso directo
‫a ese contenedor.
‫Felicitaciones a usted.
‫No veo eso muy a menudo porque la gente no lo capta. También estás usando réplicas.
‫Límites de recursos de 4G para un concierto que es genial.
‫Siempre recomiendo establecer siempre límites de recursos y reservas, si puede, porque eso ayudará a que
‫todo se lleve bien dentro de su clúster.
‫Si.
‫Parece que se está ejecutando en Docker Swarm. Dulce.
‫Máster de
‫Coordinación.
‫Todo bien.
‫Mas de lo mismo.
‫Buen material. Buen material.
‫Estás obligado a montar un volumen. No es un montaje obligatorio. Estás usando un volumen con nombre.
‫Aquí tiene restricciones de ubicación, por lo que está colocando esto en un nodo que está
‫codificado con un nombre específico. Sabes que quieres que este se ejecute solo en ese nodo.
‫Por supuesto, la debilidad aquí es que si ese nodo se cae, no podrá ubicarlo en ningún otro lugar.
‫Ojalá lo hayas tenido en cuenta.
‫Todo bien.
‫Master2, así es como estás haciendo esto.
‫Parece que tiene master1, master2 codificados como servicios separados y master3. Mucha gente tiene que hacerlo de esta manera: cuando
‫tienes un clúster de base de datos de múltiples nodos, generalmente es más fácil poner cada uno
‫de estos como su propio servicio.
‫Así que lo has hecho. Sería bueno si pudiéramos hacer un solo servicio con tres réplicas.
‫Puede encontrar eso con algunos ejemplos usando el patrón de piloto automático. Si busca el patrón de piloto automático IO, o si simplemente busca en Google
‫la tecnología de su base de datos con la palabra piloto automático, a veces puede encontrar configuraciones y scripts de
‫automatización que lo ayudarán a hacerlo todo en un solo servicio.
‫Cada uno tiene sus pros y sus contras.
‫Personalmente, tiendo a hacerlo de la forma en que tú lo haces.
‫Siento que es más simple aunque es más YAML y es un poco más detallado.
‫Una cosa que podrías hacer aquí.
‫Una gran mejora es si estas son todas las mismas partes aquí.
‫Correcto.
‫De todos modos, puede crear una plantilla, acortar este archivo de forma significativa colocándolo solo en un bloque de
‫plantilla.
‫Hablo más de eso en esto ...
‫Esto de aquí, Jacob. Pondré esto en el chat.
‫Estas son tres funciones avanzadas diferentes de Docker Compose que mucha gente no usa.
‫Uno de ellos está en plantillas.
‫Entonces, si ve el ejemplo aquí, puede lanzar la plantilla allí mismo.
‫Básicamente lo que estás diciendo es que esto es lo que quiero
‫en la plantilla y aquí es donde quiero que lo pongas, una y otra vez en cada imagen, o mejor dicho en cada servicio.
‫Entonces, muchas de esas cosas repetitivas, como si pudieras hacer una plantilla de todo o simplemente podrías hacer
‫una plantilla de partes de ellas y tener varias plantillas, y Docker tiene documentación sobre eso.
‫Eso ayudaría a hacer su archivo más pequeño y lo llamamos seco.
‫Correcto.
‫Haciendo las cosas una vez. No te repitas.
‫D R
‫Y Podrías hacer eso.
‫Eso lo ayudaría a aliviar muchas de estas cosas repetitivas, especialmente en torno a
‫las comprobaciones de estado y las cosas de implementación.
‫Entonces tienes tus nodos de datos. Todo se ve bien ahí. Estás usando tus chequeos de salud. Tienes
‫tu red configurada. Tus volúmenes. Déjame pasar algo de esto. Estás codificando cosas para cada
‫nodo. Realmente desearía que tuviéramos
‫una manera de decirle que no corra ... como aquí hay una restricción de ubicación.
‫No lo ejecutes en
‫uno que es donde corren los demás.
‫Hay algo de esperanza para ti. Hay dos cosas que puedes hacer aquí. Puede consultar las preferencias de ubicación.
‫Si tiene sus diferentes nodos en zonas de disponibilidad y simplemente desea que
‫su base de datos se asegure de que tiene una copia en cada zona de disponibilidad, como un
‫AWS o algo así, puede agregar etiquetas a cada nodo. Entonces entra aquí y dice que preferiría que los distribuyeras sobre mi etiqueta.
‫Simplemente le da una etiqueta y una preferencia de ubicación en lugar de una
‫restricción, le permitirá colocarlos en los diferentes servidores en las diferentes zonas.
‫Pero lo bueno aquí es que si una zona, o un servidor, deja de funcionar, aún podrá reasignarlo
‫en otro lugar.
‫Ahora, el peor de los casos aquí es que dos de estos se ejecutan en el mismo servidor, pero
‫probablemente no sea tan malo si puede ... Quiero decir, una cosa podría ser que los datos obtengan los datos
‫de una zona sobre la otra. Una vez que haya resuelto algunos de esos problemas.
‫Si.
‫Si. Estás diciendo, entonces puedo usar la restricción y permitirme perder uno de los nodos físicos.
‫Si.
‫Lo que pasa aquí es que lo estás haciendo un poco más frágil asignándolo a los nombres
‫de host de Node. Tienes que subir esos hosts específicos. Idealmente, como si estuviera en AWS
‫o en algo donde pueda hacer que sus servidores se creen automáticamente.
‫Entonces, si un servidor muere, todo crea uno nuevo.
‫Si.
‫Si ha tenido en cuenta todo eso, genial. No hay nada de malo con las restricciones de ubicación de esta manera.
‫Simplemente significa que esos nodos tienen que estar allí o esos contenedores mueren.
‫La otra cosa es que hay una nueva característica que viene en 19. 03 y la forma en que aprende sobre estas
‫nuevas características es si va a Docker en github y va a las versiones de Docker-ce. Publicaré esto en el chat y podrás buscar nuevas
‫funciones de Swarm. Hay una nueva versión de la función Swarm que le
‫permitirá ejecutar réplicas pero decirle que nunca ejecute más de X de estas réplicas en el mismo nodo. Una función genial que ayuda a las personas a asegurarse de que sus
‫bases de datos no se asignen al mismo nodo. Es posible que desee verificarlo como
‫una forma más flexible de asegurarse de que no estén en la misma nota.
‫Creo que si me desplazo hacia abajo hasta Swarm.
‫Si. Se agregó soporte para un máximo de réplicas por nodo. Esa es una característica nueva en el próximo 19. 03 que ya está
‫en versión preliminar, por lo que deberíamos verlo en las próximas semanas o meses.
‫Puedes comprobarlo.
‫Eso podría ayudarte con las limitaciones.
‫Todo bien.
‫Quiero avanzar un poco.
‫Lo siento, no puedo revisar todo esto. Lo estoy moviendo hacia abajo en la parte inferior.
‫Tienes tus redes, conectables true y proxy.
‫Todo se ve bien ahí.
‫Tienes volumen, por lo que estás usando el controlador de volumen predeterminado, de esa manera eso significa que todos estos datos están atascados
‫en el nodo en el que están.
‫Si tiene algún almacenamiento compartido, podría considerar REX-Ray u otro controlador de volumen para poder sacar
‫ese almacenamiento de ese disco. De esa manera, cuando uno de los nodos falla y
‫quiere crearlo en otro lugar, volverá a adjuntar ese volumen de base de datos en
‫el otro nodo.
‫Todo bien.
‫Es posible que ya lo haya mirado. Tienes certificados traefik. Podría hablar de eso un rato pero
‫nos vamos a quedar sin tiempo. Dejaré las cosas del certificado de
‫tráfico para otro día. Luego tienes las configuraciones y otros archivos.
‫Esto es genial. Usando todas las configuraciones.
‫Como deberías.
‫No veo secretos aquí. Supongo que en algún momento necesitarás Secretos y
‫es posible que debas guardarlos en Secretos en algún lugar. Aparte de ese gran YAML. Definitivamente uno de los mejores que he
‫visto.
‫Creo que hay muy poco que hacer aquí.
‫Creo que en términos de hacerlo usando todas las características perfectas. La plantilla es una cosa. Considerando diferentes controladores de
‫volumen y considerando la nueva característica. Si
‫no son las preferencias de ubicación, la nueva función para un máximo de réplicas por nodo.
‫Gracias por ver.
‫Puede hacer clic en SUSCRIBIRSE Y en la campana de notificación para recibir una alerta cuando esté en vivo para que pueda unirse
‫y hacer sus preguntas de Devops y Docker.
‫Puedes ver algunos de mis otros videos allí y puedes hacer lo que estoy a punto de hacer y simplemente ir a tomar
‫una siesta.