Description: multiple services may wish to share same DNS, while having different targets (Load Balancers). Hence, in certain cases we need to configure records in the cloud provider to support multiple targets.
Current State:
Multiple targets are supported in GKE, but not in AWS. In AWS environment two endpoints with same DNS will result in an error returned from AWS API (two non-weighted alias records sharing same DNS value).
Possible Solutions:
Create a Route53 weighted records instead of simple records. Hence, Mate will add/remove targets from the record as services are changed/removed. However if this is done implicitly the potential problem is that this may result in unexpected behaviour from user's point of view. In my opinion, this should be done explicitly only when certain annotation exist on the service, indicating that the service should get weighted RRS on Route53 (other services should be labeled with same annotation):
...
annotations:
zalando.org/dnsname: annotated-nginx.foo.com
zalando.org/type: weighted
...
If annotation is missing, simple record will be created. The rule of not overwriting existing record still applies.
@linki @Raffo @mikkeloscar @hjacobs
Description: multiple services may wish to share same DNS, while having different targets (Load Balancers). Hence, in certain cases we need to configure records in the cloud provider to support multiple targets.
Current State:
Multiple targets are supported in GKE, but not in AWS. In AWS environment two endpoints with same DNS will result in an error returned from AWS API (two non-weighted alias records sharing same DNS value).
Possible Solutions:
Create a Route53 weighted records instead of simple records. Hence, Mate will add/remove targets from the record as services are changed/removed. However if this is done implicitly the potential problem is that this may result in unexpected behaviour from user's point of view. In my opinion, this should be done explicitly only when certain annotation exist on the service, indicating that the service should get weighted RRS on Route53 (other services should be labeled with same annotation):
If annotation is missing, simple record will be created. The rule of not overwriting existing record still applies.
@linki @Raffo @mikkeloscar @hjacobs