Kubernetes обращается к модулю с HostIP: порт через службу

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

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

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

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

Спасибо


person Ping.Goblue    schedule 29.01.2020    source источник


Ответы (1)


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

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

person suren    schedule 29.01.2020
comment
Благодарю. Я нашел способ сделать это с помощью containerPort и hostPort, чтобы порт был локальным только для рабочего узла. - person Ping.Goblue; 30.01.2020