172 похожих чатов

Всем привет. Запустил деплоймент с сервисом. Их YAML https://pastebin.com/N4sb8qGp kubectl get

svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
rr-dsign-rr-dsign-chart ClusterIP 10.100.137.210 <none> 8080/TCP,8082/TCP 8m43s

Попытка подключиться из мастера к поду curl 10.100.137.210:8082
Не подключается.

Попытка подключиться из воркера к поду curl 10.100.137.210:8082
{"timestamp":"2021-10-12T01:09:12.854+00:00","status":404,"error":"Not Found","path":"/"}
То есть подключается.

Почему мастер не видит под?

Я правильно понимаю, что когда я привяжу ингресс к этому сервису, то ингресс будет запущен на воркере и соответственно я получу доступ к поду?

29 ответов

34 просмотра

Открою секрет ингресс нигде не запускается. Надо пойти и в доке глянуть страницу по ингресс и его отличию от ингресс контроллера. Так по ip вы с другой ноды подключится не сможете. Как у вас устроена сеть это вам лучше знать. Вообще стандартный путь выведения сервисов в интернет это ингресс (есть варианты и исключения)

Про ингресс ты думаешь неправильно. Ингресс контроллер это такой же под как все остальные поды, и с этого пода должен быть доступ до другого пода, который селектится сервисом, а сервис прописан в объекте ингресс. Это все можно увидеть через дескрайб ингресса. Но тебе лучше подебажить на уровне сети, проверить фаервол между воркерами. И, конечно, почитать доку про сеть в кубере, ингресс и ингресс контроллер. Да, я тоже типичный.

в общем случае ходить в сервис с ноды мастера можно. Если не работает надо смотреть детальнее

Maksimus Ulibikus- Автор вопроса
Dmitry Sergeev 🇺🇦
в общем случае ходить в сервис с ноды мастера мож...

Я не могу даже игинкс контроллер установить 🤦‍♂️ В дескриб пода connection refuse. Куда копать ума не приложу. Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal Scheduled 38s default-scheduler Successfully assigned nginx-ingress/nginx-ingress-nginx-ingress-5668dbf78-wrwb6 to srv-dev-rrsys-k8s-worker-01 Normal Pulled 21s (x3 over 37s) kubelet Container image "nginx/nginx-ingress:2.0.1" already present on machine Normal Created 21s (x3 over 37s) kubelet Created container nginx-ingress-nginx-ingress Normal Started 21s (x3 over 37s) kubelet Started container nginx-ingress-nginx-ingress Warning Unhealthy 19s (x6 over 36s) kubelet Readiness probe failed: Get "http://10.244.1.68:8081/nginx-ready": dial tcp 10.244.1.68:8081: connect: connection refused Warning BackOff 4s (x5 over 33s) kubelet Back-off restarting failed container

Maksimus Ulibikus- Автор вопроса
Jürgen Romins
Что в логах контейнера который стартует?

I1012 05:39:46.554021 1 main.go:195] Starting NGINX Ingress controller Version=2.0.1 GitCommit=208e1384c67f64464ff96a9b76a6b6beca2f95ee Date=2021-10-08T01:02:20Z PlusFlag=false F1012 05:39:47.564556 1 main.go:284] error retrieving k8s version: Get "https://10.96.0.1:443/version?timeout=32s": dial tcp 10.96.0.1:443: connect: no route to host Не уверен, что в этом дело. curl отрабатывает, но при условии, что подставлю флаг —insecure curl --insecure https://10.96.0.1:443/version { "major": "1", "minor": "22", "gitVersion": "v1.22.1", "gitCommit": "632ed300f2c34f6d6d15ca4cef3d3c7073412212", "gitTreeState": "clean", "buildDate": "2021-08-19T15:39:34Z", "goVersion": "go1.16.7", "compiler": "gc", "platform": "linux/amd64"

Maksimus Ulibikus
I1012 05:39:46.554021 1 main.go:195] Startin...

Дебаж трафик между мастером и воркерами, смотри сеть

Maksimus Ulibikus- Автор вопроса
Alexey Shanko
Дебаж трафик между мастером и воркерами, смотри се...

А разве дело не в том, что? curl https://10.96.0.1:443/version curl: (60) Peer's Certificate issuer is not recognized. More details here: http://curl.haxx.se/docs/sslcerts.html curl performs SSL certificate verification by default, using a "bundle" of Certificate Authority (CA) public keys (CA certs). If the default bundle file isn't adequate, you can specify an alternate file using the --cacert option. If this HTTPS server uses a certificate signed by a CA represented in the bundle, the certificate verification probably failed due to a problem with the certificate (it might be expired, or the name might not match the domain name in the URL). If you'd like to turn off curl's verification of the certificate, use the -k (or --insecure) option.

Maksimus Ulibikus
I1012 05:39:46.554021 1 main.go:195] Startin...

судя по ошибки проблема с сетью no route to host

Maksimus Ulibikus- Автор вопроса
Maksimus Ulibikus
А разве дело не в том, что? curl https://10.96.0...

Очень похоже Если бы непосредственно сеть, то было бы connection error (вообщем соединение непосредственно)

Maksimus Ulibikus
flannel

Дальше логи CNI смотри. И таки фаервол между нодами

Jürgen Romins
connect: no route to host

Тут connect как общее, а ошибка как route

che pasha
Тут connect как общее, а ошибка как route

в ошибке все написано и это типичная сетевая ошибка при запросе ip твои пакеты не знают куда им бежать, если проблема была бы с сертификатом то в ошибки выше было бы написано об этом а не то что показал автор F1012 05:39:47.564556 1 main.go:284] error retrieving k8s version: Get "https://10.96.0.1:443/version?timeout=32s": dial tcp 10.96.0.1:443: connect: no route to host

che pasha
@pyToshka а это тогда как?

а это не известно откуда был сделан запрос

che pasha
Да, согласен - важный нюанс

если с ноды то все может отработать, для дебага это так себе важнее сообщение из пода

Maksimus Ulibikus
На воркере

тогда проверяй cni нетворк полиси тут уже отпадают

che pasha
@pyToshka а это тогда как?

там самподписный сертификат, так и должно быть

Dmitry Sergeev 🇺🇦
там самподписный сертификат, так и должно быть

Да понятно что самоподписной :-) -k классика :-)

Maksimus Ulibikus
Я не могу даже игинкс контроллер установить 🤦‍♂️ В...

Не правильный ты контроллер ставишь.... Нерюски джун

Maksimus Ulibikus- Автор вопроса
Lucky SB
Не правильный ты контроллер ставишь.... Нерюски дж...

Конечно, я ж не ты. Я - русский. Чуешь разницу?

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Ребят в СИ можно реализовать ООП?
Николай
33
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Карта сайта