No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Curso de Swarm

Curso de Swarm

Guido Vilari帽o

Guido Vilari帽o

Entendiendo el ciclo de vida de un servicio

9/24
Recursos

Desde el Cliente , 鈥榙ocker service create鈥 le env铆a al Nodo Manager el servicio: se crea, se verifican cu谩ntas tareas tendr谩, se le otorga una IP virtual y asigna tareas a nodos; esta informaci贸n es recibida por el Nodo Worker, quien prepara la tarea y luego ejecuta los contenedores.

Aportes 16

Preguntas 0

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

El ciclo de vida es muy parecido a el ciclo de ir a un restaurante.

Usas la API de docker swarm para hablar con el orquestor, vas hac铆a donde esta la persona que toma las ordenes y le decis lo que queres.

La persona toma tu pedido y crea la orden (el orquestor crea el servicio).

Se tienen un monton de ordenes en el restaurante, y posiblemente en alg煤n momento vamos a querer saber como esta la preparaci贸n de tu orden, asi que le asignamos un ID a tu orden asi podemos ir 鈥榗hequeando鈥 como esta en el futuro (el orquestor le asigna una IP a tu servicio).

Hay que empezar a hacer lo que se pidio en la orden as铆 que vamos a ver que cocinero (que nodo) esta disponible para trabajar, buscamos uno adecuado que pueda realizar lo que requiere nuestra orden y le damos la tarea (seg煤n cuanta cpu/memoria/necesidad de comunicaci贸n, 茅l orquestor decide a que nodo darle el servicio)

El cocinero empieza a realizar la orden, si queremos saber como esta la orden, podemos verlo por que la orden tiene un ID, as铆 que me puedo referir a esa orden de una forma 煤nica entre todas las otras ordenes que se estan haciendo en el restaurante

No necesitamos saber como el cocinero esta haciendo nuestra orden, si esta haciendo este o otro tipo de corte, estamos totalmente abstra铆dos de eso, de la misma forma que nosotros no vemos a los cocineros por que los maneja la persona que se encarga de las ordenes, nosotros ya no vemos los contenedores por que eso ahora es tarea de el/los orquestor(es) de swarm

// Ver estado de un servicio
docker service ps nombreServicio

// Ver informaci贸n de un servicio
docker service inspect nombreServicio

// Ver logs
docker service logs -f nombreServicio

// Eliminar servicio
docker service rm nombreServicio

Un servicio es como una descripci贸n de algo que se tiene que llevar a cabo, ahora esta descripci贸n nos dice qu茅 se quiere hacer, pero recordemos que se puede escalar los servicios, entonces podemos llevar el servicio en marcha seg煤n la escalabilidad que le demos, entonces le estar铆amos diciendo al nodo manager 鈥渃he quiero 5 nodos haciendo esto鈥 entonces el nodo manager realiza su planificaci贸n, y en su planificaci贸n est谩n 5 tareas de determinado servicio, las cuales asigna a los nodos workers.
Entonces tenes identificadores (IDs) para:

  • Identificar servicios, es decir la descripci贸n de lo que se tiene que llevar a cabo.
  • Identificar los servicios en ejecuci贸n (tareas).
  • Identificar los contenedores en los cuales las tareas se est谩n llevando a cabo.

Seg煤n entiendo sobre el tema los IDs en Swarm.

Ammm鈥 en que clase se caer谩 Moby Dick al agua鈥 jajaja
Yo dijo que en la clase 13 XD
(No Spoilers)

Ejecuci贸n de servicios en docker
Lo que docker usar para ejecutar servicios es sistema o un enfoque llamado **scheduling **o planificaci贸n.

Los **managers **planifican en que nodo van a ejecutarse los contenedores de los servicios, para eso le asigna tarea a los nodos.

Gran clase!

TIP: docker service rm elimina el contenedor creado para nos nodos. Ya que no aparece en el listado de contenedores:
>docker ps -a

Muy interesante

docker service ps pinger
docker service inspect pinger
docker service inspect --pretty pinger
docker service logs pinger
docker service logs -f pinger // para que siga sacando el resultado
docker service rm pinger

Las tareas son templates que el manager le env铆a a los nodos worker para que puedan construir los contenedores de esa tarea.

Desde el Cliente , 鈥榙ocker service create鈥 le env铆a al Nodo Manager el servicio: se crea, se verifican cu谩ntas tareas tendr谩, se le otorga una IP virtual y asigna tareas a nodos; esta informaci贸n es recibida por el Nodo Worker, quien prepara la tarea y luego ejecuta los contenedores.

鈥 Ver el estado de un servicio

docker service ps <nameService>
docker service ps pinger

鈥 Ver la informacion de un servicios

docker service inspect <namService>
docker service inspect pinger
docker service inspect --pretty pinger

鈥 Ver logs de un servicio (-f: nos muestra en ejecuci贸n)

docker service logs -f <nameService>
docker service logs -f pinger

鈥 Eliminar un servicio, despues de unos segundos elimina el contenedor

docker service rm <nameService>
doccer service rm pinger
  • Inspeccionar los contenedores de un servicio
docker service ps <service_name>
# docker service ps pigner
  • Inspeccionar la informaci贸n de un servicio
docker service inspect <service_name>
# docker service inspect pinger
  • Inspeccionar los logs de un servicio
docker service logs -f <service_name>
# docker service logs -f pinger

Es importante que la aplicaci贸n sea de dos factores para poder saber si est谩 funcionando correctamente

  • Destruir un servicio
 docker service rm <service_name>
 # docker service rm pinger

Cuando eliminamos un servicio no necesariamente se detiene el contenedor que usaba ese servicio instant谩neamente, es posible que se tarde unos cuantos segundos m谩s.

Imagen compartida en la clase.

Moby estaba borrachito

// Ver estado de un servicio
docker service ps pinger
// Ver informaci贸n de un servicio
docker service inspect pinger
// Ver logs
docker service logs -f pinger
// Eliminar servicio
docker service rm pinger