loadbalancer

package
v0.9.1 Latest Latest
Warning

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

Go to latest
Published: Feb 1, 2024 License: Apache-2.0 Imports: 25 Imported by: 0

Documentation

Index

Constants

View Source
const (
	LoxiMaxWeight               = 10
	LoxiMultusServiceAnnotation = "loxilb.io/multus-nets"

	MaxExternalSecondaryIPsNum = 4
)

Variables

This section is empty.

Functions

func GenKey

func GenKey(ns, name string) string

GenKey generate key for cache

func GenSPKey added in v0.9.1

func GenSPKey(IPString string, Port uint16, Protocol string) string

GenSPKey generate key for cache

Types

type LbArgs

type LbArgs struct {
	// contains filtered or unexported fields
}

type LbCacheEntry

type LbCacheEntry struct {
	LbMode         int
	Timeout        int
	ActCheck       bool
	PrefLocal      bool
	Addr           string
	State          string
	ProbeType      string
	ProbePort      uint16
	ProbeReq       string
	ProbeResp      string
	SecIPs         []string
	LbServicePairs map[string]*LbServicePairEntry
}

type LbCacheKey

type LbCacheKey struct {
	Namespace string
	Name      string
}

type LbCacheTable

type LbCacheTable map[string]*LbCacheEntry

type LbModelEnt added in v0.9.0

type LbModelEnt struct {
	LbModel api.LoadBalancerModel
}

type LbServicePairEntry added in v0.9.1

type LbServicePairEntry struct {
	ExternalIP  string
	Port        uint16
	Protocol    string
	StaticIP    bool
	InRange     bool
	IdentIPAM   string
	LbModelList []api.LoadBalancerModel
}

type Manager

type Manager struct {
	LoxiClients     []*api.LoxiClient
	LoxiPeerClients []*api.LoxiClient

	ExternalIPPool       *ippool.IPPool
	ExtSecondaryIPPools  []*ippool.IPPool
	ExternalIP6Pool      *ippool.IPPool
	ExtSecondaryIP6Pools []*ippool.IPPool
	ElectionRunOnce      bool
	// contains filtered or unexported fields
}

func NewLoadBalancerManager

func NewLoadBalancerManager(
	kubeClient clientset.Interface,
	loxiClients []*api.LoxiClient,
	loxiPeerClients []*api.LoxiClient,
	externalIPPool *ippool.IPPool,
	externalSecondaryIPPools []*ippool.IPPool,
	externalIP6Pool *ippool.IPPool,
	externalSecondaryIP6Pools []*ippool.IPPool,
	networkConfig *config.NetworkConfig,
	informerFactory informers.SharedInformerFactory) *Manager

Create and Init Manager. Manager is called by kube-loxilb when k8s service is created & updated.

func (*Manager) DeleteAllLoadBalancer

func (m *Manager) DeleteAllLoadBalancer()

func (*Manager) DiscoverLoxiLBPeerServices added in v0.9.1

func (m *Manager) DiscoverLoxiLBPeerServices(loxiLBAliveCh chan *api.LoxiClient, loxiLBDeadCh chan struct{}, loxiLBPurgeCh chan *api.LoxiClient)

func (*Manager) DiscoverLoxiLBServices added in v0.9.0

func (m *Manager) DiscoverLoxiLBServices(loxiLBAliveCh chan *api.LoxiClient, loxiLBDeadCh chan struct{}, loxiLBPurgeCh chan *api.LoxiClient)

func (*Manager) Run

func (m *Manager) Run(stopCh <-chan struct{}, loxiLBLiveCh chan *api.LoxiClient, loxiLBPurgeCh chan *api.LoxiClient, masterEventCh <-chan bool)

func (*Manager) SelectLoxiLBRoles added in v0.9.0

func (m *Manager) SelectLoxiLBRoles(sendSigCh bool, loxiLBSelMasterEvent chan bool)

type SvcPair

type SvcPair struct {
	IPString   string
	Port       int32
	Protocol   string
	InRange    bool
	StaticIP   bool
	IdentIPAM  string
	IPAllocd   bool
	K8sSvcPort corev1.ServicePort
}

func (SvcPair) String added in v0.9.1

func (s SvcPair) String() string

Jump to

Keyboard shortcuts

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