Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[nginx] UDP load balancing don't work #199

Closed
r0bj opened this issue Feb 1, 2017 · 6 comments
Closed

[nginx] UDP load balancing don't work #199

r0bj opened this issue Feb 1, 2017 · 6 comments
Assignees
Labels

Comments

@r0bj
Copy link

r0bj commented Feb 1, 2017

I've migrated nginx-ingress-controller from 0.8.3 to 0.9.0-beta.1 with my UDP load balancing setup:
https://gist.github.com/r0bj/690e0ccdec46a070b2b54e1925c754c9

There are pods under service logs-ingress:

# kubectl describe svc logs-ingress -n logs-ingress
Name:			logs-ingress
Namespace:		logs-ingress
Labels:			name=logs-ingress
Selector:		tier=logs-ingress
Type:			ClusterIP
IP:			10.222.74.126
Port:			<unset>	514/UDP
Endpoints:		10.202.116.138:1514,10.202.116.140:1514,10.202.145.10:1514 + 9 more...
Session Affinity:	None
No events.

But there is no UDP backend configuration in nginx-ingress-controller:
https://gist.github.com/r0bj/5becfa94b8a1c60df6ee551af1f0f9a5

The same setup work fine with nginx-ingress-controller 0.8.3.

Do I need to configure this new version differently?

@r0bj r0bj changed the title [nginx] UDP load balancing not working [nginx] UDP load balancing not work Feb 1, 2017
@r0bj r0bj changed the title [nginx] UDP load balancing not work [nginx] UDP load balancing don't work Feb 1, 2017
@aledbf
Copy link
Member

aledbf commented Feb 2, 2017

@r0bj please check the gist

I0201 14:06:29.288831       7 controller.go:447] no configured tcp services found: configmap udp-lb-config was not found

Please check the configmap udp-lb-config exists

(I will open a PR to change the "no configured tcp services found" to "no configured udp services found")

@r0bj
Copy link
Author

r0bj commented Feb 2, 2017

Yeah but the configmap udp-lb-config actually exists:

# kubectl get configmap udp-lb-config -o yaml -n kube-system
apiVersion: v1
data:
  "514": logs-ingress/logs-ingress:514
kind: ConfigMap
metadata:
  annotations:
    kubectl.kubernetes.io/last-applied-configuration: '{"kind":"ConfigMap","apiVersion":"v1","metadata":{"name":"udp-lb-config","namespace":"kube-system","creationTimestamp":null},"data":{"514":"logs-ingress/logs-ingress:514"}}'
  creationTimestamp: 2017-01-09T14:59:14Z
  name: udp-lb-config
  namespace: kube-system
  resourceVersion: "10007842"
  selfLink: /api/v1/namespaces/kube-system/configmaps/udp-lb-config
  uid: 2fe01cfe-d67c-11e6-b94b-5254009bbb79

@aledbf aledbf self-assigned this Feb 2, 2017
@aledbf aledbf added the nginx label Feb 2, 2017
@aledbf
Copy link
Member

aledbf commented Mar 26, 2017

@r0bj please use 0.9.0-beta.3

@aledbf aledbf closed this as completed Mar 26, 2017
@aledbf
Copy link
Member

aledbf commented Mar 26, 2017

Please reopen if you still have issues

@r0bj
Copy link
Author

r0bj commented Mar 26, 2017

@aledbf thanks for info.

There is another issue with UDP loadbalancing (0.9.0-beta.3), UDP port is bind as TCP.
Example config:

apiVersion: v1
data:
  "5353": kube-system/kube-dns:53
kind: ConfigMap

Created config:

    server {
        listen                  5353;
        proxy_responses         1;
        proxy_pass              kube-system-kube-dns-53;
    }

Proper config should be:

    server {
        listen                  5353 udp;
        proxy_responses         1;
        proxy_pass              kube-system-kube-dns-53;
    }

@aledbf
Copy link
Member

aledbf commented Mar 26, 2017

@r0bj this issue is fixed in master #450

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants