https://github.com/selectel/mks-nodelocaldns
https://github.com/selectel/mks-nodelocaldns
Last synced: 3 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/selectel/mks-nodelocaldns
- Owner: selectel
- Created: 2023-07-03T08:16:57.000Z (almost 3 years ago)
- Default Branch: master
- Last Pushed: 2023-07-04T09:07:22.000Z (almost 3 years ago)
- Last Synced: 2025-10-19T16:00:39.338Z (8 months ago)
- Size: 2.93 KB
- Stars: 0
- Watchers: 6
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.MD
Awesome Lists containing this project
README
# Настройка NodeLocal DNS Cache в кластере
В случаях, когда на DNS в вашем кластере оказывается повышенная нагрузка, мы рекомендуем вам использовать NodeLocal DNS Cache. Это позволяет уменьшить нагрузку на DNS, а также уменьшить задержку резолвинга внутренних и внешних ресурсов.
Скачиваем себе [манифест](https://raw.githubusercontent.com/selectel/mks-nodelocaldns/master/nodelocaldns.yaml).
Далее, применяем этот манифест командой `kubectl create -f nodelocaldns.yaml`.
Проверить корректность работы DNS можно следующим образом.
Вам необходимо включить режим логирования для подов NodeLocal DNS. Отредактируйте манифест, добавив слово log в место, на которое указывает стрелка:
```conf
data:
Corefile: |
cluster.local:53 {
log <-- место, в котором необходимо добавить запись
errors
cache {
success 9984 30
denial 9984 5
}
```
После этого, сохраните манифест и примените его:
`kubectl apply -f nodelocaldns.yaml`
Затем, вам необходимо развернуть под с утилитами для проверки DNS и войти в tty данного пода. Сделать это можно помощью команд:
```shell
kubectl apply -f https://k8s.io/examples/admin/dns/dnsutils.yaml
kubectl exec -i -t dnsutils -- bash
```
Подключившись к поду, выполните команду:
```shell
dig @169.254.20.25 selectel.ru
```
После этого, вы сможете увидеть попытку получить адрес в логах. Чтобы посмотреть весь лог, выполните команду:
```shell
kubectl logs --namespace=kube-system -l k8s-app=kube-dns -f
```