Documentation
¶
Index ¶
- Constants
- func ContainsMember(arr []lbv1.PoolMember, m lbv1.PoolMember) bool
- func IsMemberDraining(drainingMembers []lbv1.DrainingMember, member *lbv1.PoolMember, ...) *lbv1.DrainingMember
- func ListProviders() []string
- func RegisterProvider(name string, provider Provider) error
- func RemoveDrainingMember(drainingMembers []lbv1.DrainingMember, member *lbv1.PoolMember, ...) []lbv1.DrainingMember
- type BackendController
- func (b *BackendController) HandleCleanup(ctx context.Context, lb *lbv1.ExternalLoadBalancer) error
- func (b *BackendController) HandleMonitors(ctx context.Context, monitor *lbv1.Monitor) error
- func (b *BackendController) HandlePool(ctx context.Context, pool *lbv1.Pool, monitor *lbv1.Monitor, ...) (time.Duration, []lbv1.DrainingMember, error)
- func (b *BackendController) HandleVIP(ctx context.Context, v *lbv1.VIP) error
- func (b *BackendController) RemoveMonitor(ctx context.Context, monitor *lbv1.Monitor) error
- func (b *BackendController) RemoveVIPs(ctx context.Context, vips []lbv1.VIP) error
- type Provider
Constants ¶
const DefaultDrainTimeoutSeconds = 30
DefaultDrainTimeoutSeconds is the drain timeout used when draining is enabled without an explicit timeout
Variables ¶
This section is empty.
Functions ¶
func ContainsMember ¶
func ContainsMember(arr []lbv1.PoolMember, m lbv1.PoolMember) bool
func IsMemberDraining ¶ added in v0.7.0
func IsMemberDraining(drainingMembers []lbv1.DrainingMember, member *lbv1.PoolMember, poolName string) *lbv1.DrainingMember
IsMemberDraining checks if a pool member is currently in the draining state
func ListProviders ¶
func ListProviders() []string
func RegisterProvider ¶
func RemoveDrainingMember ¶ added in v0.7.0
func RemoveDrainingMember(drainingMembers []lbv1.DrainingMember, member *lbv1.PoolMember, poolName string) []lbv1.DrainingMember
RemoveDrainingMember removes a member from the draining list
Types ¶
type BackendController ¶
type BackendController struct {
Provider Provider
// contains filtered or unexported fields
}
ExternalLoadBalancerReconciler reconciles a ExternalLoadBalancer object
func CreateBackend ¶
func (*BackendController) HandleCleanup ¶
func (b *BackendController) HandleCleanup(ctx context.Context, lb *lbv1.ExternalLoadBalancer) error
HandleCleanup removes all elements when ExternalLoadBalancer is deleted
func (*BackendController) HandleMonitors ¶
HandleMonitors manages the Monitor validation, update and creation
func (*BackendController) HandlePool ¶
func (b *BackendController) HandlePool(ctx context.Context, pool *lbv1.Pool, monitor *lbv1.Monitor, lb *lbv1.ExternalLoadBalancer, drainingMembers []lbv1.DrainingMember) (time.Duration, []lbv1.DrainingMember, error)
HandlePool manages the Pool validation, update and creation. drainingMembers holds the members currently being drained (persisted in the ExternalLoadBalancer status). It returns how long to wait until a draining member is due for removal (0 if no member is draining) and the updated draining members list.
func (*BackendController) RemoveMonitor ¶ added in v0.7.0
RemoveMonitor deletes the given monitor if it still exists, used when its creation is turned off
func (*BackendController) RemoveVIPs ¶ added in v0.7.0
RemoveVIPs deletes the given virtual servers that still exist, used when their creation is turned off
type Provider ¶
type Provider interface {
// Create a new backend provider
Create(context.Context, lbv1.Provider, string, string) error
// Connect initializes a connection to the backend provider
Connect() error
// Close closes the connection to the backend provider
Close() error
// GetMonitor returns a monitor if it exists
GetMonitor(*lbv1.Monitor) (*lbv1.Monitor, error)
// CreateMonitor creates a new monitor
CreateMonitor(*lbv1.Monitor) error
// EditMonitor updates a monitor
EditMonitor(*lbv1.Monitor) error
// DeleteMonitor deletes a monitor
DeleteMonitor(*lbv1.Monitor) error
// GetPool returns a pool if it exists
GetPool(*lbv1.Pool) (*lbv1.Pool, error)
// CreatePool creates a new pool
CreatePool(*lbv1.Pool) error
// EditPool updates a pool
EditPool(*lbv1.Pool) error
// DeletePool deletes a pool
DeletePool(*lbv1.Pool) error
// GetPoolMembers returns a pool members if it exists
GetPoolMembers(*lbv1.Pool) (*lbv1.Pool, error)
// CreatePoolMember returns a pool if it exists
CreatePoolMember(*lbv1.PoolMember, *lbv1.Pool) error
// EditPoolMember updates a pool member
EditPoolMember(*lbv1.PoolMember, *lbv1.Pool, string) error
// DisablePoolMember disables a pool member to prevent new connections while allowing existing connections to complete
DisablePoolMember(*lbv1.PoolMember, *lbv1.Pool) error
// DeletePoolMember deletes a pool member
DeletePoolMember(*lbv1.PoolMember, *lbv1.Pool) error
// GetVIP returns a virtual server if it exists
GetVIP(*lbv1.VIP) (*lbv1.VIP, error)
// CreateVIP creates a new virtual server
CreateVIP(*lbv1.VIP) error
// EditVIP updates a virtual server
EditVIP(*lbv1.VIP) error
// DeleteVIP deletes a virtual server
DeleteVIP(*lbv1.VIP) error
}
Provider interface method signatures