loadbalancer

package
v1.5.3 Latest Latest
Warning

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

Go to latest
Published: Apr 4, 2023 License: Apache-2.0 Imports: 18 Imported by: 0

Documentation

Overview

Package loadbalancer wraps Anexias LBaaS service to an interface more suitable for K8s LoadBalancer usage

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrNoLoadBalancers is returned when no LBaaS LoadBalancer is configured or found via AutoDiscovery
	ErrNoLoadBalancers = errors.New("no LoadBalancers configured or found via AutoDiscovery")

	// ErrPortNameNotUnique is returned when asked to reconcile a service with non-unique port names
	ErrPortNameNotUnique = errors.New("port name not unique")

	// ErrNoUsableNodeAddress is returned when asked to reconcile a Service for set of Nodes from which at least one does not have a usable address.
	ErrNoUsableNodeAddress = errors.New("Node lacks usable address")

	// ErrSingleVIPConflict is returned when asked to provision a LoadBalancer service while another already uses the single load balancer IP usable for Anexia Kubernetes Service beta.
	ErrSingleVIPConflict = errors.New("only a single LoadBalancer can be used in Anexia Kubernetes Service beta, but found another service using the external IP already")
)

Functions

func New

func New(config *configuration.ProviderConfig, logger logr.Logger, k8sClient kubernetes.Interface, apiClient api.API, legacyClient client.Client, providerMetrics metrics.ProviderMetrics) (cloudprovider.LoadBalancer, error)

New creates a new LoadBalancer manager for the given Anexia generic client, cluster name and identifier of the LBaaS LoadBalancer resource identifier to add kubernetes services to (LBaaS LoadBalancers are machines serving many Kubernetes LoadBalancer Services).

The given overrideClusterName can be given for cases were the kubernetes controller-manager does not know it and there are multiple clusters running in the same Anexia customer, resulting in possibly colliding resources.

Types

This section is empty.

Directories

Path Synopsis
Package reconciliation contains logic to configure resources for a single Anexia LBaaS LoadBalancer for a given set of external addresses, ports and servers.
Package reconciliation contains logic to configure resources for a single Anexia LBaaS LoadBalancer for a given set of external addresses, ports and servers.

Jump to

Keyboard shortcuts

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