У меня есть кластер GKE с установленным istio. Входной шлюз Istio автоматически создает балансировщик нагрузки с IP.
Я поместил этот IP-адрес в Cloud DNS, как показано на рисунке ниже (поддельный IP-адрес со скрытым DNS-именем). Все работает, и я могу получить доступ к своему кластеру по URL-адресу.
Я знаю, что могу уменьшить время TTL, чтобы попытаться сократить время распространения, если мне нужно изменить IP, как описано в документации.
Распространение изменений
Изменения распространяются в двух частях. Во-первых, изменение, которое вы отправляете через API или инструмент командной строки, необходимо отправить на авторитетные DNS-серверы Cloud DNS. Во-вторых, преобразователи DNS должны принять это изменение, когда истечет срок действия их кеша с записями.
Кэш преобразователя DNS управляется значением времени жизни (TTL), которое вы установили для своих записей, которое указывается в секундах. Например, если вы установите значение TTL равное 86400 (количество секунд в 24 часа), преобразователи DNS получат указание кэшировать записи в течение 24 часов. Некоторые преобразователи DNS игнорируют значение TTL или используют свои собственные значения, которые могут задерживать полное распространение записей.
Если вы планируете изменить услуги, требующие узкого окна, вы можете изменить TTL на более короткое значение, прежде чем вносить изменения. Такой подход может помочь уменьшить окно кэширования и обеспечить более быстрое изменение настроек новой записи. После изменения вы можете изменить значение обратно на предыдущее значение TTL, чтобы снизить нагрузку на преобразователи DNS.
Но, как видите, это решение ненадежно, потому что некоторые распознаватели DNS не могут следовать моему TTL. Есть ли способ уменьшить это время распространения до нуля? Я безуспешно пытался создать балансировщик нагрузки и правило пересылки.
Есть ли способ уменьшить это время распространения до нуля?
Нет.
Предположим, что все остальные DNS-серверы будут соблюдать TTL, потому что вы не можете контролировать его или влиять на их поведение, если они этого не сделают. Установите TTL на то, что вы считаете разумным и которое соответствует вашим целям. Если некоторые DNS-серверы не соблюдают его, вы все равно ничего не можете с этим поделать.
Есть ли способ уменьшить это время распространения до нуля?
По Интернету? Нет. См. Также: Как уменьшить эффект распространения DNS
Авторитетные серверы имен могут иметь минимальный TTL. Хотя зачастую минимум составляет всего несколько минут. Google Cloud DNS может обрабатывать запросы, близкие к минимальному значению TTL, поэтому нагрузка здесь меньше.
Несколько решателей были наблюдается увеличение TTL. Хотя это меньшинство, ожидать, что 100% пользователей переместятся на TTL, нереально.