Nomad - Failed to configure network
Projev
Node neni schopen pustit zadny kontajner, ktery nejak situje. Casto je videt hlaska i v gui. Typicky se to stava po updatu docker engine
V logu vidim hlasky tohoto typu
May 31 22:01:42 n2.de1.easy2.cloud nomad[1041]: client.alloc_runner.runner_hook: failed to configure network: alloc_id=d2bc7f3c-64e0-6dfa-a863-37579f535b2d err="failed to allocate for range 0: 172.26.65.84 has been allocated to d2bc7f3c-64e0-6dfa-a863-37579f535b2d, duplicate allocation is not allowed" attempt=1
...
Popis
Pri restartu dockerengine dojde ke ztrate spojeni mezi nomadem a dockerem, nomad na to zareaguje jako na pad aplikaci a asi by chtel realokovat aplikace jinam, ale to u nas nelze, takze jen oznaci aplikace jako fail. Problem je, ze ani po nahozeni dockeru, aplikace, ktere pouzivaji bridge (vsechny ER a EP), nenajedou, protoze se jim sit nedari vytvorit a log je plny chyb vyse.
Reseni
Zatim nemame dobre reseni. Jednou moznosti jak tomu predchazet, by mohlo byt, nepouzivat sitove pluginy, nebo zkusit jine, ktere nejsou zavisle na dockeru.
Resenim jak se vratit do funkcniho stavu po takovem padu je restart docker engine jeste jednou po tom co popadaji aplikace a nasledne aplikace nastartovat rucne redeplojem.
Redeploj lze udelat rychle tak, ze:
- kliknu v ui na aplikaci
- jdu na kartu definition
- zapnu edit mod
- zmenim nejakou drobnost jako treba CPU limit o 10
- zmenu nasadim a tim se pusti redeploj
Resdeni je to hloupe, je potreba najit lepsi, nebo jeste lepe zaridit, aby se to nedelo.