controller

package
v1.28.13 Latest Latest
Warning

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

Go to latest
Published: Aug 14, 2024 License: Apache-2.0 Imports: 31 Imported by: 31

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Repair

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

Repair is a controller loop that periodically examines all service ClusterIP allocations and logs any errors, and then sets the compacted and accurate list of all allocated IPs.

Handles: * Duplicate ClusterIP assignments caused by operator action or undetected race conditions * ClusterIPs that do not match the currently configured range * Allocations to services that were not actually created due to a crash or powerloss * Migrates old versions of Kubernetes services into the atomic ipallocator model automatically

Can be run at infrequent intervals, and is best performed on startup of the master. Is level driven and idempotent - all valid ClusterIPs will be updated into the ipallocator map at the end of a single execution loop if no race is encountered.

TODO: allocate new IPs if necessary TODO: perform repair?

func NewRepair

func NewRepair(interval time.Duration, serviceClient corev1client.ServicesGetter, eventClient eventsv1client.EventsV1Interface, network *net.IPNet, alloc rangeallocation.RangeRegistry, secondaryNetwork *net.IPNet, secondaryAlloc rangeallocation.RangeRegistry) *Repair

NewRepair creates a controller that periodically ensures that all clusterIPs are uniquely allocated across the cluster and generates informational warnings for a cluster that is not in sync.

func (*Repair) RunUntil

func (c *Repair) RunUntil(onFirstSuccess func(), stopCh chan struct{})

RunUntil starts the controller until the provided ch is closed.

type RepairIPAddress added in v1.27.0

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

func NewRepairIPAddress added in v1.27.0

func NewRepairIPAddress(interval time.Duration,
	client kubernetes.Interface,
	network *net.IPNet,
	secondaryNetwork *net.IPNet,
	serviceInformer coreinformers.ServiceInformer,
	ipAddressInformer networkinginformers.IPAddressInformer) *RepairIPAddress

NewRepair creates a controller that periodically ensures that all clusterIPs are uniquely allocated across the cluster and generates informational warnings for a cluster that is not in sync.

func (*RepairIPAddress) RunUntil added in v1.27.0

func (r *RepairIPAddress) RunUntil(onFirstSuccess func(), stopCh chan struct{})

RunUntil starts the controller until the provided ch is closed.

Jump to

Keyboard shortcuts

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