c одним подом. В нем крутится некий сервис, который отдает клиенту в отдельном поде имя хоста для установки соединения. Например это my-service-0 - по факту, это hostname пода.
Проблема в том, что hostname my-service-0 не резолвится с отдельного пода.
Но проблема решается, если в /etc/hosts/ в ручную добавить <IP_POD> my-service-0
Как решается эта проблема?
Kind: Service с селектором на pod И коннект по имени service а не по имени pod
не получится. Приложение все равно возвращает имя пода. Что клиент, что сервер проприетарные. Выход только один - правка hosts
напишите entrypoint, который сходит получит имя пода и ип и запишет в /etc/hosts перед стартом клиента.. раз такие проблемы
headless svc
Я правильно понимаю, что тогда мне имя пода будет разрешаться из любого пода, запущенного в этом NS?
Ну либо обращаться через сервис если у тебя в будущем будет больше чем 1 под либо можешь обращаться к поду напрямую если уверен что он будет 1 в кластере.....
Не. Не надо пожалуйста такого говорить)
https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-s-hostname-and-subdomain-fields Вообще можешь еще поду выдать руками hostaname и subdomain - и будет прям под возвращаться и хостнейм у него будет ровно тот что ты хочешь
Короче, решил проблему через API. Прошу закидать тапками, почему так делать плохо. https://github.com/TheDemonCat/onec-full/blob/master/scripts/k8s-add-host-onec-server.sh
Обсуждают сегодня