Charts: [stable/traefik] service type ClusterIP does not work with externalTrafficPolicy

Created on 5 Jun 2018  路  6Comments  路  Source: helm/charts

I have an internal instance of the traefik chart and i have the service type set to ClusterIP. Because of this, i get an error when attempting to deploy traefik.

"Invalid value: "Cluster": ExternalTrafficPolicy can only be set on NodePort and LoadBalancer service"

Should the condition for externalTrafficPolicy be changed to only be added if the service type is not ClusterIP?

lifecyclstale

Most helpful comment

An Ingress (object) is really just a way to define configuration for a reverse proxy (ingress controller). in my use case I have an external ingress controller which handles traffic coming into the cluster. The external ingress controller routes most of the traffic (but not all) to a couple middleware services. Those middleware services are not smart enough to route traffic based on path, so they blindly forward the traffic to the internal ingress (running as ClusterIP). The internal ingress routes to the correct service based on path.

All 6 comments

Sound like it, yes. Although I can't quite understand the use case that would lead one to select ClusterIP as the service type. The point of an ingress controller (as the "ingress" in its name would imply) is to route traffic coming _into_ the cluster. If you're using Traefik with service type ClusterIP, it sounds like you're using it to route traffic _within_ the cluster instead. That sounds odd and inefficient.

But again, yes. If there's a legitimate use case for this, then it sounds like setting or not setting ExternalTrafficPolicy on the basis of the service type is necessary.

An Ingress (object) is really just a way to define configuration for a reverse proxy (ingress controller). in my use case I have an external ingress controller which handles traffic coming into the cluster. The external ingress controller routes most of the traffic (but not all) to a couple middleware services. Those middleware services are not smart enough to route traffic based on path, so they blindly forward the traffic to the internal ingress (running as ClusterIP). The internal ingress routes to the correct service based on path.

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Any further update will cause the issue/pull request to no longer be considered stale. Thank you for your contributions.

This issue is being automatically closed due to inactivity.

Just a reminder that this is still an issue

Yup - still an issue. It seems like setting --set externalTrafficPolicy= will fix it.

I'm using a ClusterIP because I'm running keepalived VIPs in my cluster.

Was this page helpful?
0 / 5 - 0 ratings