Sem conectividade de rede até um minuto após a inicialização

2

Parece que há um atraso significativo (um minuto) após a inicialização, até que a rede realmente atinja qualquer coisa, exceto o servidor de metadados (169.254.169.254). Eu testei usando a imagem debian jessie padrão e também uma imagem customizada minha. Eu vejo o mesmo problema.

Isso também pode ser verificado conectando-se à máquina usando o console serial. Nada é alcançável, nem mesmo outras máquinas na mesma rede GCE, exceto como dito, o servidor de metadados.

Alguém mais vê isso ou tem alguma ideia do que é?

EDITAR:

Isso só acontece quando a máquina "inicializa a frio" (ou seja, é iniciada do zero).

Aproximadamente estou vendo os seguintes eventos:

  • 0s - Pressione "Iniciar VM" no console
  • 1s - Estado da instância (de acordo com a API) muda para PRIVISIONAMENTO
  • 4s - o estado da instância muda para STAGING
  • 20s - alterações no estado da instância para RUNNING
  • 49s - A instância responde ao ping de outra VM na mesma sub-rede.

Iniciando um ping quando pressiono "Start VM":

$ ping 10.128.0.5
PING 10.128.0.5 (10.128.0.5) 56(84) bytes of data.
64 bytes from 10.128.0.5: icmp_seq=49 ttl=64 time=1.08 ms
64 bytes from 10.128.0.5: icmp_seq=50 ttl=64 time=0.285 ms

Portanto, há cerca de 25 segundos de isolamento de rede assumindo que a inicialização (incluindo o DHCP) leva cerca de 5 segundos, como podemos ver ao reinicializar:

Comparando isso com um reboot da instância em que ele está inacessível por cerca de 7 segundos (e isso inclui alguns segundos para o desligamento)

$ ping 10.128.0.5
PING 10.128.0.5 (10.128.0.5) 56(84) bytes of data.
64 bytes from 10.128.0.5: icmp_seq=1 ttl=64 time=1.07 ms
64 bytes from 10.128.0.5: icmp_seq=2 ttl=64 time=0.271 ms
64 bytes from 10.128.0.5: icmp_seq=3 ttl=64 time=0.236 ms
64 bytes from 10.128.0.5: icmp_seq=4 ttl=64 time=0.295 ms
64 bytes from 10.128.0.5: icmp_seq=5 ttl=64 time=0.316 ms
64 bytes from 10.128.0.5: icmp_seq=12 ttl=64 time=0.595 ms
64 bytes from 10.128.0.5: icmp_seq=13 ttl=64 time=0.240 ms
64 bytes from 10.128.0.5: icmp_seq=14 ttl=64 time=0.238 ms
64 bytes from 10.128.0.5: icmp_seq=15 ttl=64 time=0.299 ms
    
por andoma 19.04.2017 / 15:25

1 resposta

2

Um funcionário do GCP explicou o motivo pelo qual o link

do hacker

We're working on it. It's a major initiative for us, because as you see we get the damn thing "booting" in a handful of seconds and then reachability to/from the internet is the long pole. Fwiw, we at least got to/from *.googleapis.com way down, so if you need to say fetch something from GCS, that should be a bit faster.

At a high level, it's the result of having global, flat Networks and not wanting to declare the network "up" until you've "programmed" all the routes. So if you have 1000 VMs distributed globally, you get to make sure that they're not "connected" until your new VM in asia-east1-a can talk to all other VMs in your Network (and vice versa). With the to/from API path this routing is much simpler since you don't get the N^2 behavior.

    
por 06.10.2017 / 08:34