UDP не балансирует нагрузку на акс-движке? - PullRequest
0 голосов
/ 20 марта 2019

Я развернул простой сервер udp пример , но может видеть входящий трафик только 1 из 5 пакетов (с журналами kubectl 'udp-server-deploy-XXX' ). Я пробовал это на Azure aks-engine, почему он никогда не балансирует нагрузку?

$ kubectl get pods | grep udp-server

udp-server-deployment-6f87f5c9-4mhpm 1/1 Running 0 4m

udp-server-deployment-6f87f5c9-5lqkm 1/1 Running 0 4m

udp-server-deployment-6f87f5c9-5x92x 1/1 Running 0 4m

udp-server-deployment-6f87f5c9-smb8g 1/1 Running 0 4m

udp-server-deployment-6f87f5c9-tszgs 1/1 Running 0 4m

Не помогает, если баланс нагрузки на общедоступный IP-адрес не является внутренним ( service.beta.kubernetes.io / azure-load-balancer-internal: "true" ) Попробуйте сами, если у вас есть ' loggen '(генератор системного журнала linux) удобно:

git clone https://github.com/jpoon/kubernetes-udp.git

cd kubernetes-udp

kubectl create -f server.yaml

loggen --inet --dgram --size 300 --rate 10 --interval 10 <IPAddress of udp-server-service > 10001

kubectl logs udp-server-deployment-6f87f5c9-xxx (5 times)

1 Ответ

0 голосов
/ 29 марта 2019

Я могу только подтвердить со своей стороны, что я разделяю те же наблюдения, что и вы.LoadBalancing не срабатывает при использовании протокола UDP, независимо от типа используемого сервисного порта (ClusterIP, NodePort или LoadBalancer), я проверял его как в Azure, так и в GCP.

Я думаю, что это все из-за того, что:

Сервер UDP не может сам по себе выполнять проверку работоспособности, поскольку UDP не имеет подтверждений того, что балансировщик нагрузкиможет проверить, что требуется дополнительный компонент

, как указано в этом сообщении в блоге.

...