consul-k8s
consul-k8s copied to clipboard
Allow ClusterIP Services to sync as Endpoints or as ClusterIP
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.
There is any ETA for this to be merged and released?
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?