linkerd2/controller/cmd
Alex Leong 755538b84a
Resolve gateway hostnames into IP addresses (#4588)
Fixes #4582 

When a target cluster gateway is exposed as a hostname rather than with a fixed IP address, the service mirror controller fails to create mirror services and gateway mirrors for that gateway.  This is because we only look at the IP field of the gateway service.

We make two changes to address this problem:
 
First, when extracting the gateway spec from a gateway that has a hostname instead of an IP address, we do a DNS lookup to resolve that hostname into an IP address to use in the mirror service endpoints and gateway mirror endpoints.

Second, we schedule a repair job on a regular (1 minute) to update these endpoint objects.  This has the effect of re-resolving the DNS names every minute to pick up any changes in DNS resolution.

Signed-off-by: Alex Leong <alex@buoyant.io>
2020-06-15 10:33:49 -07:00
..
destination Service Mirroring Component (#4028) 2020-03-02 21:16:08 +02:00
heartbeat Add `as-group` CLI flag (#3952) 2020-01-22 16:38:31 +02:00
identity Add `as-group` CLI flag (#3952) 2020-01-22 16:38:31 +02:00
proxy-injector Add CronJobs and ReplicaSets to dashboard and CLI (#3687) 2019-12-11 10:02:37 -08:00
public-api Service Mirroring Component (#4028) 2020-03-02 21:16:08 +02:00
service-mirror Resolve gateway hostnames into IP addresses (#4588) 2020-06-15 10:33:49 -07:00
sp-validator Shrink controller Docker image from 315MB to 38MB (#3378) 2019-09-05 11:44:03 -07:00
tap Service Mirroring Component (#4028) 2020-03-02 21:16:08 +02:00
main.go Service Mirroring Component (#4028) 2020-03-02 21:16:08 +02:00