Swarm Docker: tráfico en estado asignado -- docker-swarm camp Relacionados El problema

Docker Swarm: traffic in assigned state


0
vote

problema

Español

Cuando escaleo un servicio hacia arriba desde 1 nodo (nodo A) a 2 nodos (nodo A y nodo b), veo que el tráfico se enruta inmediatamente a ambos nodos (incluido el nuevo nodo B a pesar de que no está listo) .

Como resultado, un proxy de NGINX devolverá Assginments operator is taking = 2 Comparison = N Increments (i++ and Count++) = N+N =2N Times 0 S la mitad del tiempo (hasta que el nodo B esté listo).

¿Alguna sugerencia de cómo puede retrasar este tráfico?

NOTA: Esto no está esperando que se presente otro contenedor como se mencionó aquí: Docker compone la espera para el contenedor X antes de comenzar y Esto se trata de retrasar la conexión de red hasta que el contenedor esté listo.

Original en ingles

When I scale a service up from 1 node (Node A) to 2 nodes (Node A and Node B), I see traffic immediately being routed to both nodes (including the new Node B even though it isn't ready).

As a result, an Nginx proxy will return 502s half the time (until Node B is ready).

Any suggestions how you can delay this traffic?

Note: this isn't waiting for another container to come up as mentioned here: Docker Compose wait for container X before starting Y This is about delaying the network connection until the container is ready.

  

Lista de respuestas

0
 
vote

Si no configura una Sección de HealthCheck , Docker asumirá que el contenedor está disponible tan pronto como se inicie.

Tenga en cuenta que el servicio de atención inicial solo se realiza después de el conjunto /2 .

Para que pueda agregar algo extremadamente básico como las pruebas si el puerto 80 está conectable (necesita NC en su imagen de Docker):

  /3  
 

If you do not configure a healthcheck section, docker will assume that the container is available as soon as it is started.

Note that the initial healthcheck is only done after the set interval.

So you could add something extremely basic like testing if port 80 is connectable (you need nc in your docker image):

healthcheck:   test: nc -w 1 127.0.0.1 80 < /dev/null   interval: 30s   timeout: 10s   retries: 3   start_period: 5s 
 
 

Relacionados problema

1  Dos aplicaciones utilizadas en Swarm Docker  ( Two applications used in docker swarm ) 
Tengo dos aplicaciones (WebApp y MySQL) En la superposición de Swarm (como https: //blog.docker. COM / 2015/11 / Docker-Multi-Host-Networking-GA / ), utiliz...

3  El nodo no puede unirse a Swarm Cluster  ( Node cannot join swarm cluster ) 
Tengo 3 VM's. Todos ellos tienen Docker 1.12 y se están ejecutando en CENTOS7. Todos los puertos están abiertos y las VM son capaces de hacerse ping. Comencé ...

0  Docker 1.12 Puerto Servicios de Fowarding a través de los nodos  ( Docker 1 12 port fowarding services across nodes ) 
¡Así que tengo un servidor PLEX que se ejecuta en mi enjambre de Docker! Si mato mágicamente un nodo, comenzará a PLEX en algún otro lugar. ¡Esto es genial! A...

2  Servicio de Docker deshabilitar intercambio de memoria  ( Docker service disable memory swap ) 
¿Puedo configurar "MemorySwap" y "MemorySwappiness" para el servicio de Docker? Me gustaría deshabilitar el intercambio de memoria para los contenedores de Do...

1  Contenedores no accesibles de un anfitrión a otro  ( Containers not reachable from one host to another ) 
Leí problemas relacionados pero ninguno encaja exactamente con mi problema. Sin embargo, mi problema está muy cerca de este , pero La solución no es relevant...

12  Can Docker Contenedores se ejecutan en el núcleo de Windows IOT  ( Can docker containers run in windows iot core ) 
¿Hay una manera de ejecutar un contenedor de Docker en el núcleo de Windows IOT? He visto que se puede usar en Azure, Windows Server y Desktop W10, pero no ha...

1  ¿Necesito instalar Docker en todos mis nodos dentro del modo de enjambre?  ( Do i need to install docker in all my nodes inside the swarm mode ) 
Sé que esta es una pregunta básica. Pero soy nuevo en Docker y tengo esta consulta. ¿Necesito instalar Docker en todos mis nodos que forman parte de mi modo d...

0  Docker Swarm Filters, restricción y estrategia de programación  ( Docker swarm filters constraint and scheduling strategy ) 
Estoy usando Docker para Windows, así como Docker-CE en Ubuntu. He habilitado el modo Docker Swarm. Me encontré con muchos artículos que especifican que...

0  Error al crear un error SSH de la máquina DOCER: la cantidad máxima de reintentos (60) excedidos  ( Error while creating a docker machine ssh error maximum number of retries 60 ) 
Estoy tratando de crear una máquina Docker con una máquina virtual usando Oracle VirtualBox y Ubuntu Server 16.04 en Windows 10 Pro con el siguiente comando: ...

2  ¿Cómo habilitar la reprogramación de contenedores más rápida con el enjambre de Docker y el cónsul?  ( How to enable faster container rescheduling with docker swarm and consul ) 
para algunos antecedentes en mi entorno: Tengo enjambre de Docker que se ejecuta en 3 cajas de Vagrant de Ubuntu 14.04. El Swarm Master se está ejecutando...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos