consul-k8s icon indicating copy to clipboard operation
consul-k8s copied to clipboard

Allow ClusterIP Services to sync as Endpoints or as ClusterIP

Open praymann opened this issue 5 years ago • 3 comments

Fixes/allows for the use cases outlined in https://github.com/hashicorp/consul-k8s/issues/99 which Invoca has and is experiencing. We want to be able to sync the actual ClusterIP in certain situations.

A new configuration option is added, which details to true, that defines whether or not ClusterIP services are sync'd as Endpoints (the Pod addresses). An annotation is also allowed to override the configuration option on a per Service basis.

Should this option or annotation be false, then the service is sync'd as a single instance with the address of the actual in-cluster ClusterIP.

The only open question is if Headless Services should always be sync'd as Endpoints given their lack of an in-cluster ClusterIP. Right now if the option or annotation is false for a Headless Service it is just not sync'd at all.

praymann avatar Jan 17 '20 19:01 praymann

CLA assistant check
All committers have signed the CLA.

hashicorp-cla avatar Jan 17 '20 19:01 hashicorp-cla

There is any ETA for this to be merged and released?

daniego avatar Mar 25 '20 07:03 daniego

I would also love to have this feature, we're working on a migration from running no containers on EC2 to containers and AWS EKS. This feature would help us a lot to be able to test our existing haproxy load balancers sending traffic to both EC2 instance backends and pod backends.

@praymann it looks like there are conflicts would you have time to clean that up?

aackerman avatar Jun 16 '20 13:06 aackerman