Рейтинг:0

kube-proxy, похоже, не может разрешить IP-адрес службы в Windows

флаг in

Запуск гибридного кластера на 3 виртуальных машинах, главный узел — Linux, один рабочий — Linux, другой — Windows. узел linux работает правильно (по крайней мере, он может запускать Jenkins job и grafana). Узел Windows не может получить доступ к dns с IP-адреса службы, даже если служба dns работает, и два модуля не выдают ошибок. Модуль прокси-сервера kube также работает правильно на узле Windows, выдавая только информацию в журналах (на узле Windows):

"I1011 10:02:39.770583 7524 proxy.go:919] syncProxyRules заняло 2,2098 мс\n","stream":"stderr","time":"2021-10-11T08:02:39.7715829Z"}
{"log":"I1011 10:02:39.770583 7524bounded_frequency_runner.go:296] sync-runner: выполнено, следующее возможное через 1 с, периодическое через 30 с\n","stream":"stderr","time":" 2021-10-11T08:02:39.7715829Z"}
{"log":"I1011 10:03:09.782792 7524 proxy.go:967] Политики синхронизации\n","stream":"stderr","time":"2021-10-11T08:03:09.7837903Z"}
{"log":"I1011 10:03:09.782792 7524 proxy.go:978] Политика уже применена для (*winkernel.serviceInfo)(0xc00080aab0)({\n","stream":"stderr","time": "2021-10-11T08:03:09.7837903Z"}

при попытке выполнить nslookup что-либо из модуля, работающего в кластере, это результат:

Время запроса DNS истекло.
    тайм-аут был 2 секунды.
Сервер: Неизвестный
Адрес: 172.31.128.10

Время запроса DNS истекло.
    тайм-аут был 2 секунды.
Время запроса DNS истекло.
    тайм-аут был 2 секунды.
Время запроса DNS истекло.
    тайм-аут был 2 секунды.
Время запроса DNS истекло.
    тайм-аут был 2 секунды.
*** Запрос на неизвестный тайм-аут

Попытка запросить DNS напрямую с одним из IP-адресов модуля, на котором работает DNS, дает правильный результат.

Узлы linux стандартные, я прошел документацию https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/, cni - фланель, а есть metalLB. есть 3 подсети: одна /17 для служб, одна /17 для IP-адресов кластера и одна /24 для внешнего IP-адреса с балансировкой нагрузки. Все диапазоны соответствуют RFC1918 (кластер предназначен только для внутреннего использования). DNS-это coredns со значениями по умолчанию Узел Windows настраивается с помощью этого руководства. https://v1-17.docs.kubernetes.io/docs/setup/production-environment/windows/user-guide-windows-nodes/ смена версии с 1.17 на 1.21.3

прокси-сервер Windows Kube создается через

curl -L https://github.com/kubernetes-sigs/sig-windows-tools/releases/latest/download/kube-proxy.yml | sed 's/VERSION/v1.22.0/g' | kubectl применить -f -

кубектл версия:

$ kubectl версия
Версия клиента: version.Info{Major:"1", Minor:"21", GitVersion:"v1.21.3", GitCommit:"ca643a4d1f7bfe34773c74f79527be4afd95bf39", GitTreeState:"clean", BuildDate:"2021-07-15T21:04: 39Z", GoVersion: "go1.16.6", компилятор: "gc", платформа: "windows/amd64"}
Версия сервера: version.Info{Major:"1", Minor:"21", GitVersion:"v1.21.5", GitCommit:"aea7bbadd2fc0cd689de94a54e5b7b758869d691", GitTreeState:"clean", BuildDate:"2021-09-15T21:04: 16Z", версия Go: "go1.16.8", компилятор: "gc", платформа: "linux/amd64"}

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.