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. |
Click to show internal directories.
Click to hide internal directories.