Изменение облачного IP-адреса DNS (тип записи ресурса A) без времени распространения - PullRequest
1 голос
/ 22 марта 2020

У меня есть кластер GKE с установленной istio. Входной шлюз Istio автоматически создает балансировщик нагрузки с IP.

Я поместил этот IP-адрес в облачный DNS, как показано на рисунке ниже (поддельный IP-адрес со скрытым DNS-именем). Все работает, и я могу получить доступ к своему кластеру, используя URL.

enter image description here

Я знаю, что могу уменьшить время TTL, чтобы попытаться сократить время распространения, если мне нужно изменить IP, как описано в документации.

Распространение изменений

Изменения распространяются на две части. Во-первых, изменения, которые вы отправляете через API или инструмент командной строки, должны быть отправлены на уполномоченные DNS-серверы Cloud DNS. Во-вторых, распознаватели DNS должны принять это изменение, когда истечет срок их кэша записей.

Кэш распознавателя DNS управляется значением времени жизни (TTL), которое вы задаете для своих записей, которое указано в секундах Например, если вы установите значение TTL 86400 (количество секунд в 24 часах), распознаватели DNS получат инструкцию кэшировать записи в течение 24 часов. Некоторые распознаватели DNS игнорируют значение TTL или используют свои собственные значения, которые могут задержать полное распространение записей.

Если вы планируете изменить службы, для которых требуется узкое окно, вы можете изменить TTL на более короткое значение до внесения изменений. Такой подход может помочь уменьшить окно кеширования и обеспечить более быстрое изменение ваших новых настроек записи. После изменения вы можете изменить значение обратно на предыдущее значение TTL, чтобы уменьшить нагрузку на распознаватели DNS.

Но, как вы можете видеть, это решение ненадежно, поскольку некоторые преобразователи DNS не могут следовать моим TTL. Есть ли способ уменьшить это время распространения до нуля? Я попытался создать балансировщик нагрузки и правило пересылки, но безуспешно.

1 Ответ

0 голосов
/ 23 марта 2020

Единственный способ повлиять на время распространения - это значения TTL для вашей зоны, поэтому не стесняйтесь устанавливать TTL для своей зоны как минимум, как это разрешено Google Cloud DNS. Но имейте в виду, что вы не можете заставить все DNS-серверы через Inte rnet распространять изменения так быстро, как вам хотелось бы, потому что многие из них настроены на переопределение настроек TTL, указанных вами, как описано здесь .

В качестве возможного решения вы можете попытаться зарезервировать c IP-адреса и заранее настроить DNS-записи, как описано в документации , если это применимо. для вашего случая использования.

...