Настройка NodeLocal DNSCache
Содержание
OverviewKey FeaturesImportant NotesInstallationУстановка через MarketplaceHow It WorksАрхитектураConfigurationНастройка Network PolicyOverview
NodeLocal DNSCache — это плагин кластера, который улучшает производительность DNS в кластере за счёт запуска прокси-кэша DNS на узлах кластера. Этот плагин снижает задержки DNS-запросов и повышает стабильность кластера, кэшируя DNS-ответы локально на каждом узле и минимизируя нагрузку на центральный DNS-сервис.
Key Features
- Локальное кэширование DNS: Кэширует DNS-ответы локально на каждом узле для снижения задержек запросов
- Повышенная производительность: Значительно сокращает время разрешения DNS для приложений
Important Notes
Особенности развертывания:
-
Режим Kube-OVN Underlay: Плагин не поддерживает развертывание в режиме Kube-OVN Underlay. При развертывании в этом режиме возможны сбои DNS-запросов.
-
Перезапуск kubelet: Развертывание этого плагина приведёт к перезапуску kubelet.
-
Требуется перезапуск Pod'ов: После успешного развертывания плагина он не повлияет на уже запущенные Pod'ы, а вступит в силу только для вновь созданных Pod'ов. При использовании CNI Kube-OVN необходимо вручную добавить параметр "--node-local-dns-ip=(IP-адрес локального DNS-кэша)" в kube-ovn-controller.
-
Настройка NetworkPolicy: Если в кластере настроен NetworkPolicy, необходимо дополнительно разрешить трафик в обоих направлениях для node CIDR и nodeLocalDNSIP в networkPolicy, чтобы обеспечить корректную коммуникацию.
-
Обновление кластера MicroOS: Для кластеров MicroOS обновление выполняется путём пересоздания кластера, что приводит к потере изменений конфигурации kubelet. Чтобы сохранить конфигурацию NodeLocal DNS при обновлениях, необходимо добавить параметр
--cluster-dnsвkubeletExtraArgsв следующих трёх местах шаблона кластера:KubeadmControlPlane→initConfiguration→nodeRegistration→kubeletExtraArgsKubeadmControlPlane→joinConfiguration→nodeRegistration→kubeletExtraArgsKubeadmConfigTemplate→template→spec→joinConfiguration→nodeRegistration→kubeletExtraArgs
Добавьте следующий параметр в каждый из указанных разделов
kubeletExtraArgs:
Примечания по обновлению 4.2.x
При обновлении этого плагина с версий ниже 4.2.0 (исключая 4.2.0) до 4.2.x необходимо выполнить следующие действия из-за проблем совместимости ResourcePatch:
До обновления:
- Зафиксируйте значение параметра
--node-local-dns-ipиз конфигурации ResourcePatch kube-ovn-controller - Удалите ResourcePatch для ресурса
deploy/kube-ovn-controller
После обновления:
- Вручную добавьте зафиксированный параметр
--node-local-dns-ipобратно в конфигурацию kube-ovn-controller
Примечание: Эта проблема совместимости решена в версии 4.3 и выше, поэтому при обновлении до 4.3+ ручные действия не требуются.
Installation
Установка через Marketplace
-
Перейдите в Administrator > Marketplace > Cluster Plugins.
-
Найдите в списке плагинов "Alauda Build of NodeLocal DNSCache".
-
Нажмите Install для открытия страницы настройки установки.
-
Настройте необходимые параметры:
-
Ознакомьтесь с примечаниями по развертыванию и убедитесь, что ваша среда соответствует требованиям.
-
Нажмите Install для завершения установки.
-
Дождитесь, пока статус плагина изменится на "Ready".
How It Works
Архитектура
Configuration
Настройка Network Policy
Важно: Если в вашем кластере включён NetworkPolicy, необходимо настроить соответствующие правила, разрешающие DNS-трафик к NodeLocal DNSCache. Без этих правил Pod'ы могут не иметь возможности разрешать DNS-запросы.
При использовании NetworkPolicy убедитесь, что разрешён следующий DNS-трафик: