Почему расположение узла GCP Kubernetes Node для Europe-North1 находится в США?
Я новичок в Google Cloud Platform и K8s. Я запустил кластер Kubernetes в GCP и выбрал Europe-North1 в качестве региона (Europe-North1-a в качестве зоны).
Когда я пытаюсь запустить свое приложение в этом кластере, происходит сбой, потому что он ожидает запуска приложения в регионе ЕС. Я добавил проверку IP и Geo (используя базу данных GeoLite ( https://dev.maxmind.com/geoip/legacy/geolite/) и инструмент проверки IP AWS ( http://checkip.amazonaws.com/)) в свое приложение и они говорят мне, что хозяин находится в США.
Возможно, я пропустил какую-то опцию конфигурации GCP/K8s или это потому, что регион Европа-Север1 все еще довольно новый, а IP-адреса не правильно показывают, что они находятся в ЕС? В каком случае я должен направить этот вопрос в Google?
1 ответ
Хорошо быть осмотрительным, но по большей части вы можете доверять тому, что крупные облачные провайдеры, такие как GCP, Azure и т. Д., Ставят свои примеры, когда говорят, что они есть.
Службы сопоставления гео-IP не идеальны. Насколько я могу судить, проблема в том, что используемые вами службы сопоставления Geo-IP не могут точно определить местоположение динамических IP-адресов Google, поскольку они переназначаются.
Эти службы используют комбинацию различных методов для обеспечения соответствия гео-ip, иногда они получают адреса из записей whois, иногда они используют задержку для триангуляции общих местоположений. По большей части это работает для того, чтобы дать вам общее представление о местоположении, но в случае пула динамических адресов GCP, которые часто переназначаются новым vms в новых местоположениях, они просто не могут идти в ногу.
Я попытался воссоздать то, с чем вы столкнулись с помощью vms вместо кластера Kubernetes. Я запустил экземпляр как в Европе, так и в США. При выполнении гео-ip-сопоставления оба экземпляра показали, что они находятся в США, но когда я пинговал оба адреса (я пинговал из Соединенных Штатов), задержка определенно поддерживала то, что они должны были быть.