Нет никакой разницы, если клиент находится в Docker или нет. Несмотря на то, что у вас есть служба , предоставляемая из Kubernetes , вы можете установить такое же подключение к ней из процесса, запущенного на внешнем хосте, или из процесса, запущенного в контейнере Docker на этом хосте.
Скажем, как в примере из документации Kubernetes, вы запускаете службу NodePort, которая доступна через порт 31496 на каждом узле кластера, и вы пытаетесь подключиться к нему извне кластера. Может быть, как в вопросе 123.123.123.12, это какой-то узел в кластере. Типичной установкой может быть получение местоположения сервиса из переменной среды (JavaScript process.env.THE_SERVICE_URL
; Ruby ENV['THE_SERVICE_URL']
; Python os.environ['THE_SERVICE_URL']
; ...).
Когда вы разрабатываете, вы можете установить эту переменную в вашей локальной оболочке:
export THE_SERVICE_URL=http://123.123.123.12:31496
cd here && ./kubernetes_client_script.py
При развертывании приложения вы можете установить ту же переменную среды:
docker run -e THE_SERVICE_URL=http://123.123.123.12:31496 me:k8s-client