разрешением имен в кластере.....
Вот мой кластер:
└─# kubectl get nodes
NAME STATUS ROLES AGE VERSION
cuba-kub-01 Ready etcd,master 2d5h v1.18.10+rke2r1
cuba-kub-02 Ready etcd,master 2d1h v1.18.10+rke2r1
cuba-kub-03 Ready etcd,master 2d v1.18.10+rke2r1
cuba-kub-04 Ready node 2d v1.18.10+rke2r1
cuba-kub-05 Ready node 47h v1.18.10+rke2r1
cuba-kub-06 Ready node 47h v1.18.10+rke2r1
✓ ��[ admin@cuba-kub-01 ]��[ 10.8.4.24 172.17.0.1 10.42.0.0 ]─[ 16:58:16 ]
Обратите внимания, что имена хостов все "короткие", они соответствуют хостнеймам машин. Поэтому пинг по короткому имени не пройдет, например, ping cuba-kub-02 вызовет ошибку. Во внутреннем DNS для этих хостов созданы записи, поэтому пинг по FQDN пройдет нормально:
└─# ping cuba-kub-02.haulmont.com
PING cuba-kub-02 (10.8.4.28) 56(84) bytes of data.
64 bytes from cuba-kub-02 (10.8.4.28): icmp_seq=1 ttl=64 time=0.263 ms
Теперь, собственно, проблема..... Я установил в кластер Прометеус, пытаюсь просто сделать port-forward для Grafana, находясь на первом мастере:
└─# kubectl -n monitoring port-forward prometheus-grafana-59bfb6b6bf-b476f 3000:3000
error: error upgrading connection: error dialing backend: dial tcp: lookup cuba-kub-06 on 10.5.0.3:53: server misbehaving
✗ ��[ admin@cuba-kub-01 ]��[ 10.8.4.24 172.17.0.1 10.42.0.0 ]─[ 17:05:53 ]
10.5.0.3 - это доменный DNS. Получается, Кубер ругается на то, что не может найти в DNS адреса cuba-kub-06.... Но там короткого и нет! Там есть FQDN - cuba-kub-06.haulmont.com
Я решил попробовать иначе - просто сделал Service, который пробросит порт 3000 нужного пода на NodePort. Сделал. У меня три воркера, по идее, Grafana должна быть доступна на любой рабочей ноде.... И по netstat я вижу, что нужный порт открылся на всех трех рабочих нодах....
Но! Реально загружается веб морда Графаны только на той рабочей ноде, где крутится под с Графаной, т.е., на cuba-kub-06 при попытке сменить ноду для подключения, браузер долго висит, а потом отваливается по таймауту.
Да и в Графане не открывается ни один дашбоард - говорит, что ошибка сервиса.
Такое ощущение, что отсутствует роутинг между рабочими нодами.....
Как быть?
А просто добавить домен поиска чтобы он при коротком обращении поискал?
куда? в настройки физического сетевого интерфейса на каждой машине?
Ммм ну вообще он раньше дефолтно прокидывал как раз resolve conf с ноды - если ты не менял поведение - да добавляй туда
В Ubuntu уже давно файл resolv.conf ни на что не влияет, в нем написано, что его не надо редактировать: └─# cat /etc/resolv.conf # This file is managed by man:systemd-resolved(8). Do not edit. # # This is a dynamic resolv.conf file for connecting local clients to the # internal DNS stub resolver of systemd-resolved. This file lists all # configured search domains. # # Run "resolvectl status" to see details about the uplink DNS servers # currently in use. # # Third party programs must not access this file directly, but only through the # symlink at /etc/resolv.conf. To manage man:resolv.conf(5) in a different way, # replace this symlink by a static file or a different symlink. # # See man:systemd-resolved.service(8) for details about the supported modes of # operation for /etc/resolv.conf. nameserver 127.0.0.53 options edns0
А что за сеть у тебя?
Коллеги, я идиот! ((((( Я несколько дней назад сделал в DNS запись, которой соответствуют все три айпишника рабочих нод (уже не помню, зачем)! И она первая вываливается при пинге по имени (я добавил в убунтовский netplan опцию search domain). Убил эту запись в DNS - все волшебно заработало! )))))
Обсуждают сегодня