Yandex Marketplace
November 8, 2022
Установка NodeLocalDNS в Marketplace k8s и через Helm
NodeLocal DNS снижает нагрузку по DNS-запросам за счет запуска кеша на каждом узле в кластере mk8s. Это позволяет повысить производительность и отказоустойчивость кластера.
Для установки нужно получить внутренний IP адрес службы kube dns:
kubectl get svc kube-dns -n kube-system -o jsonpath="{.spec.clusterIP}"
При установке нужно будет указать:
После установки NodeLocal DNS использует следующие значения:
- Зона кластера Kubernetes —
cluster.local
. - Адрес NodeLocal DNS Cache —
169.254.20.10
. - Порт приложения для внешних запросов —
53
. - Порт для сбора метрик Prometheus —
9253
.
Установка через helm чарт без Cilium.
export HELM_EXPERIMENTAL_OCI=1 &&\ helm pull oci://cr.yandex/yc-marketplace/k8s.gcr.io/node-local-dns/chart \ --version 1.5 \ --untar && \ KUBE_DNS_IP="$(kubectl get svc kube-dns -n kube-system -o jsonpath={.spec.clusterIP})" && \ helm install \ --namespace kube-system \ --set config.cilium=false \ --set config.clusterIp=$KUBE_DNS_IP \ node-local-dns ./chart/
Установка через helm чарт с Cilium.
export HELM_EXPERIMENTAL_OCI=1 &&\ helm pull oci://cr.yandex/yc-marketplace/k8s.gcr.io/node-local-dns/chart \ --version 1.5 \ --untar && \ KUBE_DNS_IP="$(kubectl get svc kube-dns -n kube-system -o jsonpath={.spec.clusterIP})" && \ helm install \ --namespace kube-system \ --set config.cilium=true \ --set config.clusterIp=$KUBE_DNS_IP \ node-local-dns ./chart/
#Проверка установки helm list -n kube-system #Удаление node-local-dns helm uninstall node-local-dns -n kube-system
Полезные ссылки.
Установка компонента:
https://cloud.yandex.ru/docs/managed-kubernetes/operations/applications/node-local-dns
Настройка NodeLocal DNS для работы с Cillium: https://cloud.yandex.ru/docs/managed-kubernetes/operations/cilium-node-local-dns
Страница приложения:
https://cloud.yandex.ru/marketplace/products/yc/node-local-dns#docker-images