Kubernetes получает доступ к модулю через HostIP: порт через сервис - PullRequest
0 голосов
/ 29 января 2020

Я заметил, что при доступе к сервису Kubernetes ip хоста игнорируется kubernetes.

Например: у меня есть 3 рабочих kubernetes, hostIP1, hostIP2 и hostIP3, на каждом работнике я создаю капсулу с меткой: app = test. В каждом модуле просто запускается python -m SimpleHTTPServer 32000, затем я создаю сервис для предоставления порта: 32000, чтобы к нему можно было обращаться за пределы кластера.

Но когда я получаю доступ к http://hostIP1:32000, трафик c фактически направляется на любой из хостов, hostIP1, hostIP2 и hostIP3

Есть ли способ только позвольте Kubernetes пересылать трафик c на hostIP1 при доступе к http://hostIP1:32000?

Спасибо

1 Ответ

1 голос
/ 29 января 2020

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

Чтобы сделать то, что вы хотите, вам нужно создать 3 разных сервиса, чтобы каждый сервис имел свой собственный бэкэнд.

...