Help us shape the future of Go! Take the 2026 Go Developer Survey

lbipam

package
v1.19.9 Latest Latest
Warning

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

Go to latest
Published: Oct 15, 2026 License: Apache-2.0 Imports: 38 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var Cell = cell.Module(
	"lbipam",
	"LB-IPAM",

	lbipamconfig.Cell,

	cell.Provide(newLBIPAMCell),

	cell.Invoke(func(*LBIPAM) {}),

	metrics.Metric(newMetrics),
)

Functions

func NewServiceStore

func NewServiceStore() serviceStore

func RangeFromPrefix added in v1.18.0

func RangeFromPrefix(prefix netip.Prefix) (netip.Addr, netip.Addr)

Types

type AddressFamily

type AddressFamily string
const (
	IPv4Family AddressFamily = "IPv4"
	IPv6Family AddressFamily = "IPv6"
)

type LBIPAM

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

LBIPAM is the loadbalancer IP address manager, controller which allocates and assigns IP addresses to LoadBalancer services from the configured set of LoadBalancerIPPools in the cluster.

func (*LBIPAM) Run

func (ipam *LBIPAM) Run(ctx context.Context, health cell.Health)

type LBRange

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

func NewLBRange added in v1.13.0

func NewLBRange(from, to netip.Addr, pool *cilium_api_v2.CiliumLoadBalancerIPPool) (*LBRange, error)

func (*LBRange) Disabled

func (lr *LBRange) Disabled() bool

func (*LBRange) Equal

func (lr *LBRange) Equal(other *LBRange) bool

func (*LBRange) EqualCIDR

func (lr *LBRange) EqualCIDR(from, to netip.Addr) bool

func (*LBRange) String

func (lr *LBRange) String() string

type ServiceView

type ServiceView struct {
	Key    resource.Key
	Labels slim_labels.Set

	Generation int64
	Status     *slim_core_v1.ServiceStatus

	SharingKey            string
	SharingCrossNamespace []string
	// These required to determine if a service conflicts with another for sharing an ip
	ExternalTrafficPolicy slim_core_v1.ServiceExternalTrafficPolicy
	Ports                 []slim_core_v1.ServicePort
	Namespace             string
	Selector              map[string]string

	// The specific IPs requested by the service
	RequestedIPs []netip.Addr
	// The IP families requested by the service
	RequestedFamilies struct {
		IPv4 bool
		IPv6 bool
	}
	// The IPs we have allocated for this IP
	AllocatedIPs []ServiceViewIP
}

ServiceView is the LB IPAM's view of the service, the minimal amount of info we need about it.

type ServiceViewIP

type ServiceViewIP struct {
	IP     netip.Addr
	Origin *LBRange
}

ServiceViewIP is the IP and from which range it was allocated

Jump to

Keyboard shortcuts

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