lighthouse

package
v0.0.0-...-d2db929 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 15, 2023 License: Apache-2.0 Imports: 31 Imported by: 0

README

lighthouse

Name

Lighthouse - DNS Discovery for services across clusters.

Description

Lighthouse plugin allows Cross Cluster Service Discovery between Kubernetes clusters connected by Submariner.

If the default Kubernetes plugin fails to resolve a DNS request, the lighthouse plugin will try to resolve it using the information it gathered from other clusters that have joined the submariner control plane. On a successful resolution, lighthouse plugin returns the cluster IP of the service in the remote cluster. Submariner ensures that this IP is reachable.

Syntax

Lighthouse requires kubernetes plugin to be present.

lighthouse

Examples

. {
    errors
    log
    kubernetes cluster.local {
      fallthrough
    }
    lighthouse
}

Documentation

Index

Constants

View Source
const (
	Svc = "svc"
	Pod = "pod"
)
View Source
const PluginName = "lighthouse"
View Source
const (
	ServiceDiscoveryQueryCounterName = "submariner_service_discovery_query"
)

Variables

View Source
var (
	Version string
)

Functions

This section is empty.

Types

type Lighthouse

type Lighthouse struct {
	Next          plugin.Handler
	Fall          fall.F
	Zones         []string
	TTL           uint32
	ClusterStatus resolver.ClusterStatus
	Resolver      *resolver.Interface
}

func (*Lighthouse) Name

func (lh *Lighthouse) Name() string

Name implements the Handler interface.

func (*Lighthouse) ServeDNS

func (lh *Lighthouse) ServeDNS(ctx context.Context, w dns.ResponseWriter, r *dns.Msg) (int, error)

ServeDNS implements the plugin.Handler interface.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL