kubernetes-ingress: Haproxy does not handle Services of the type ExternalName

Hi, when creating a service of the type “ExternalName” and an ingress pointing towards it, then the ingress controller keeps repeating:

2019/10/15 10:30:23 controller.go:194: Endpoint for service <service name> does not exists

This type of service will never have an endpoint. It would make sense to use the returned CNAME as the backend pool server that is returned by the service.

Tested with.

HAProxy Ingress Controller v1.2.3 7fc1cd6

See https://kubernetes.io/docs/concepts/services-networking/service/#externalname

This functionality does work with nginx-ingress controller.

About this issue

  • Original URL
  • State: open
  • Created 5 years ago
  • Reactions: 8
  • Comments: 17 (5 by maintainers)

Most upvoted comments

Hi, Do we have a workaround for supporting externalName?

@mecampbellsoup When using ExternalName, the address of the backend server is a DNS name. If there is no resolvers configured in haproxy, it will only resolve it once at startup using system resolvers configured in your haproxy node. If this is not working for you, then maybe your config-snippet is messing with the setup, or it is just that there are no resolvers in you haproxy node. Anyway to go a step further and be able to resolve dns names at runtime in haproxy you will need to configure a resolvers section, which is a more robust solution cause the ip address of a DNS name may change at haproxy runtime.