The Lighthouse project provides DNS discovery for Kubernetes clusters connected by Submariner in multi-cluster environments.
The below diagram shows the basic Lighthouse architecture.
The Lighthouse Agent runs in every cluster and accesses the Kubernetes API server running in the broker cluster to exchange service metadata information with other clusters. Local service information is exported to the broker and service information from other clusters is imported.
The workflow is as follows:
The Lighthouse DNS server runs as an external DNS server which owns the domain supercluster.local. KubeDNS is configured to forward any request sent to supercluster.local to the Lighthouse DNS server, which uses the ServiceImport resources that are distributed by the controller for DNS resolution.
The workflow is as follows.