Hola a todos.
Y bienvenidos de nuevo.
En el vídeo de hoy hablaremos de un tema muy interesante: la orquestación de contenedores.
Ahora, la orquestación de contenedores consiste en gestionar el ciclo de vida del contenedor, especialmente
en los entornos grandes y dinámicos.
Ahora, esto se puede explicar mejor con la pequeña demostración aquí donde usted tiene tres soldados de máquinas virtuales.
Así que tienes máquina virtual, una máquina virtual, dos, máquina virtual tres, y tienes un contenedor
de servidor web, tienes un contenedor de servidor de aplicaciones en la máquina virtual uno, y lo mismo con la máquina
virtual dos.
Tienes un contenedor de servidor web y el contenedor de servidor de aplicaciones.
Ahora, si tienes un entorno muy pequeño como este, puedes seguir adelante e iniciar el contenedor manualmente.
Pero hay muchos otros aspectos aparte del arranque del contenedor.
Una de ellas es la vigilancia.
Así que digamos que este contenedor de servidor web específico se cayó y para que su entorno de producción funcione perfectamente,
necesita tener un mínimo de dos contenedores de servidor web para estar siempre en funcionamiento.
Ahora, lo que pasó es que lo instalaste y el contenedor del servidor web se cayó.
Así que la pregunta es ¿quién supervisará este contenedor de servidor web específico?
Y ese script de monitorización también debería tener un mecanismo dirigido por eventos de tal forma que si este contenedor
de servidor web se cae, también reinicie el contenedor o debido a alguna razón, si, digamos, el contenedor no se reinicia, entonces
ese script debería iniciar automáticamente un nuevo contenedor de servidor web en la máquina virtual.
Tres.
Así que este es un ejemplo sencillo, y esto se puede lograr con la ayuda de la orquestación de contenedores.
Ahora, la orquestación de contenedores puede utilizarse para realizar muchas tareas.
Algunas de ellas incluyen el aprovisionamiento y despliegue de contenedores entre las máquinas virtuales.
Digamos que tienes 100 máquinas virtuales y quieres desplegar contenedores en ellas.
Así que es muy difícil hacerlo manualmente.
Así que la herramienta de orquestación de contenedores puede hacerlo fácilmente.
La segunda es aumentar o eliminar los contenedores para repartir uniformemente la carga de la aplicación.
Entonces tienes momento de contenedores de un host a otro si hay escasez de recursos.
Digamos que un haz uno tiene dos contenedores.
Sin embargo, el de VM tiene un recurso muy corto.
Sólo hay como 50 GB de RAM, que está disponible.
Así que lo que la herramienta de orquestación de contenedores puede hacer es mover el contenedor de esa VM a una
VM, que está mucho más vacía, que tiene muchos más recursos disponibles.
Así que eso se puede hacer con la ayuda de la herramienta de orquestación de contenedores.
La orquestación de contenedores también puede realizar funciones relacionadas con el equilibrio de carga y el descubrimiento de servicios entre
contenedores.
También puede supervisar el estado de los contenedores y del host.
Ahora, siempre que tengas una orquestación de contenedores, también puede haber un montón de configuraciones erróneas, que pueden
suceder.
Digamos que has definido un requisito en la orquestación del contenedor, que establece que un mínimo
de dos contenedores de servidor web deben estar ejecutándose todo el tiempo.
Ahora, una orquestación de contenedores, lo que podría hacer, puede lanzar los dos contenedores de servidor web
en la misma VM.
Aunque hay tres VMs disponibles, lanza el contenedor del servidor web en una sola
VM.
Y lo que ocurre aquí es que si ambos están en la misma VM, lo primero es que habría problemas relacionados
con los recursos si aumenta el tráfico de producción.
La segunda es que no está muy disponible.
Si esta máquina virtual se cae, entonces ambos contenedores se caerán.
Así que lo que hay que hacer es tener un buen conjunto de requisitos y la herramienta de orquestación de contenedores también tiene
que ser inteligente de tal manera que si la herramienta de orquestación de contenedores tiene una definición que dos servidores
web deben estar funcionando todo el tiempo, debe ser inteligente para dividir el contenedor de
servidor web a través de la máquina virtual para que la carga se equilibra, así como la alta disponibilidad puede ser atendida.
Ahora, permítanme darles rápidamente un ejemplo de una herramienta de orquestación de contenedores llamada X.
Así que X es el servicio de orquestación específico para nosotros.
Ahora tiene una función de colocación de tareas.
Ahora, lo que hace la colocación de tareas es eso.
Puede utilizar varias restricciones como zona de disponibilidad o tipo de instancia para dividir los contenedores entre máquinas virtuales.
Así que si usted está familiarizado con nosotros, digamos que usted tiene una máquina virtual uno y una máquina
virtual dos, y ambos están dentro de la misma zona de disponibilidad.
Ahora en tal caso, si tienes el contenedor del servidor web uno en la VM uno y el contenedor del servidor web dos en la VM dos,
aunque podría ser bueno en términos de balanceo de carga, pero en términos de tolerancia a fallos, no
es bueno porque ambas VMs están dentro de la misma zona de disponibilidad.
Así que también necesita algún tipo de inteligencia de tal manera que un contenedor de servidor web debe dividirse
a través de las instancias en una zona de disponibilidad diferente.
Así que si una sola CA se cae, eso no debería afectar a su aplicación.
De nuevo, esta es una gran capacidad de ICS.
Así que volviendo a las soluciones de orquestación de contenedores que están disponibles, hay muchas soluciones de orquestación de
contenedores que están disponibles en el mercado.
Algunos de ellos incluyen Docker Swarm, Kubernetes, que es uno de los más populares
en la industria.
Tienes mezcladores Apache.
También tienes el servicio de contenedor elástico, que es un plus X.
Además, existen varias plataformas de orquestación de contenedores, como ICS.
Así que básicamente Kubernetes es si usted podría haber trabajado, es bastante complicado.
Y el manejo de Kubernetes es en un equipo de, digamos dos o tres DevOps puede ser un poco difícil específicamente si
su entorno es grande.
Así que hay ciertas plataformas como X, que es como un Kubernetes gestionado.
Así que se encarga de gestionar los Kubernetes y tú te encargas del resto.
Así que algo parecido a eso también está disponible.
Así que hagamos una cosa antes de concluir este vídeo.
Permítanme mostrarles rápidamente una demostración relacionada con la orquestación de contenedores, y tomaremos el ejemplo de
Docker Swamp para entender cómo ayudan exactamente las soluciones de orquestación de contenedores.
Ahora estoy en mi clase y si hago un servicio Docker LS verás que tengo un servicio llamado Hello
World, que está utilizando la imagen del motor X y tiene una réplica de uno de uno.
Así que actualmente aquí se replica el modo.
Ahora bien, si básicamente hago un servicio Docker, PS Helloworld, lo que está mostrando básicamente fue
así que antes lo que pasó fue que había este contenedor específico, se puso en marcha en un nodo o en una máquina virtual llamada
Swarm cero dos.
Pero por alguna razón esta máquina virtual dejó de responder.
Y luego lo que hizo la herramienta de orquestación, inició este contenedor específico en una máquina virtual diferente llamada
esta Forma cero tres.
Así que tiene la capacidad de controlar si la aplicación o si el contenedor se está ejecutando o no.
Y si no se está ejecutando, entonces se iniciará automáticamente en una máquina virtual diferente, que esté
disponible.
Así que esto es muy similar a lo que estábamos discutiendo.
Supongamos que un contenedor de servidor web ha dejado de funcionar en una VMM cuando entonces la herramienta de orquestación
iniciará automáticamente el contenedor de servidor web en una máquina virtual diferente.
Así que vamos a hacer una cosa, vamos a probarlo.
Lo que haremos es iniciar sesión en el servidor del enjambre cero tres y detener manualmente el contenedor que se está ejecutando
en el enjambre cero tres.
Y luego vamos a ver si la herramienta de orquestación de contenedores aquí, en nuestro
caso, Docker swarm, si es capaz de detectar que este contenedor específico ha dejado de funcionar y si lanza un nuevo
contenedor de nuevo.
Así que vamos a probarlo.
Así que estoy conectado a esta máquina 103 donde nuestro servicio se está ejecutando.
Muy bien, así que este es el servicio que se está ejecutando.
Y si ves que el estado es arriba.
Así que hagamos una cosa.
Vamos a detener el demonio Docker aquí.
De acuerdo.
Así que este es el peor de los casos.
Así que puede ocurrir que el propio servidor haya dejado de responder y se haya apagado.
¿Y ahora qué pasa?
Así que esta es la aplicación que se estaba ejecutando aquí.
Ahora bien, como habíamos detenido el servicio Docker, nuestra aplicación se habría caído.
Pero ahora vamos a ejecutar el mismo comando, que es el servicio Docker.
Hola Mundo.
Así que después de detectar que el contenedor dentro del enjambre cero tres no se está ejecutando, lo que hizo
fue iniciar automáticamente el contenedor en el nodo del enjambre cero uno.
Y aquí si hago una pieza docker, usted debe ver que usted tiene un contenedor que está en marcha y funcionando
y esto es de la imagen del motor X.
Así, la herramienta de orquestación de contenedores puede detectar automáticamente si el contenedor está activo o no.
Si no lo está, puede reiniciarlo o iniciar ese contenedor específico en un nodo
diferente.
Así que esta es una capacidad de una herramienta de orquestación de contenedores.
Hay muchas otras capacidades.
Pero para que te hagas una idea, esta es la demostración que decidí hacer con este vídeo en concreto.
Esto es todo sobre la orquestación de contenedores.
Espero que este vídeo le haya resultado informativo y le espero en el próximo.