Skip to content

Publish network load balancer hostnames to DNS #736

Open

Description

@scotwells

Every network load balancer location gets a generated hostname, but nothing publishes it, so the name doesn't resolve. In staging, the demo load balancer was given us-east-1.crater-spare-b56jc.prism.staging.env.datum.net, and that name returns nothing. This issue publishes those hostnames through the same DNS publishing path Compute uses for VM names, so that network services moves toward one way of publishing names instead of three.

Part of network load balancers. Depends on public zone support in the DNS service. Until then, a temporary stopgap publishes the hostnames through external-dns, the way gateway hostnames are published.

What changes

  • For each load balancer location, network services registers the hostname in the platform zone and hands over its address.
  • A record is served only while that address is announced in the location, as the design requires. It is withdrawn when the announcement stops or the load balancer is deleted.
  • Load balancer status reports a hostname as published only once the DNS service confirms the record is live.
  • IPv6 records first. IPv4 records come when IPv4 addresses ship.

Later

  • Move gateway names, customer gateway hostnames and Datum Connect names onto the same path, one at a time.

Done when

  • An announced load balancer's hostname resolves to its address in staging.
  • Withdrawing the announcement or deleting the load balancer removes the record.
  • Load balancer status shows when each hostname is published.
  • The temporary external-dns stopgap is removed: its controller, its networkLoadBalancer.dns settings, and the staging setting that turns it on.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Fields

Priority

None yet

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions