Можно ли использовать Nginx для балансировки трафика TCP c внутри Kubernetes? - PullRequest
0 голосов
/ 16 января 2020

Мой сервер leegacy использует TCP-сокеты для обслуживания клиентов (также внутри kubernetes). Клиенты также работают внутри того же кластера, в котором находится сервер. Можем ли мы использовать NGINX для распространения трафика c на экземпляры POD сервера? Если так, то как?

Ответы [ 2 ]

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

Кубернетес Service делает именно это. Вам не нужно nginx для балансировки нагрузки между модулями внутри кластера.

Если вы хотите получить взвешенное распределение трафика c, посмотрите на istio или envoy ambassador.

https://istio.io/docs/tasks/traffic-management/tcp-traffic-shifting/ https://www.getambassador.io/reference/tcpmappings/

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

Да, это возможно. Стандартные ресурсы Kubernetes Ingress предполагают, что весь трафик c основан на HTTP; они не учитывают случай балансировки нагрузки по основному протоколу c TCP или UDP. Вам необходимо использовать ключ ConfigMap stream-snippets для встраивания требуемой конфигурации балансировки нагрузки TCP и UDP непосредственно в блок stream {} файла конфигурации NGINX. Вот пример .

...