healthCheckNodePort doesn't work
healthCheckNodePort doesn't work for LoadBalancer type services with externalTrafficPolicy set to local. For example ingress-nginx:
apiVersion: v1
kind: Service
metadata:
labels:
app: ingress-nginx
name: ingress-nginx
namespace: ingress-nginx
resourceVersion: "518"
selfLink: /api/v1/namespaces/ingress-nginx/services/ingress-nginx
uid: 579805c3-6591-11e8-bb77-0251d17162b6
spec:
clusterIP: 100.64.17.171
externalTrafficPolicy: Local
healthCheckNodePort: 32534
ports:
- name: http
nodePort: 31156
port: 80
protocol: TCP
targetPort: http
- name: https
nodePort: 31244
port: 443
protocol: TCP
targetPort: https
selector:
app: ingress-nginx
sessionAffinity: None
type: LoadBalancer
With kube-proxy, every nodes listens on healtcheck port, but only those reply with 200 which has localEndpoint(s), the others reply with 503. In case of kube-router no healtheck operation is served for our aws elb, and elb reports instances as OutOfService. Viewing ipvsadm, every node registers itself as virtual server for the named ports, and only those have real server(s), which has local endpoint(s), but no node registers the healthCheckNodePort.
If needed I'll recreate other listing (ipvsadm, aws elb), but now we switched back to kubenet in order advance in work.
@axelbodo thanks for reporting the issue. i will take a look into it.
We also hit this very recently and switched the service to using externalTrafficPolicy to Cluster again.
Is there anything we can do and/or help with in advancing this? If I understand it correctly, the healthCheck feature for externalTrafficPolicy: Local is not even implemented yet?
@axelbodo @mikn Unfortunatley necessary functionality was not implemented. I will add support for healthCheck feature and make a new release.
@murali-reddy I just want to bring this issue onto your radar as you work on this implementation: https://github.com/kubernetes/kubernetes/issues/50977 Which is eerily similar to the issue I reported here: https://github.com/cloudnativelabs/kube-router/issues/467
Hello, Was this solved? I have the same issue...
Hi!
Any update on that? We are using kube-router and AWS.
When setting External Traffic Policy: Local on a LoadBalancer, k8s allocates healthCheckNodePort that is unavailable and it breaks the LoadBalaner
Any update on that?
Not planned yet. PR's is welcomed though.
This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 5 days.
This issue was closed because it has been stale for 5 days with no activity.