Documentation ¶
Index ¶
- Variables
- type ExternalIPAllocator
- type ExternalIPPoolController
- func (c *ExternalIPPoolController) AddEventHandler(handler ExternalIPPoolEventHandler)
- func (c *ExternalIPPoolController) AllocateIPFromPool(ipPoolName string) (net.IP, error)
- func (c *ExternalIPPoolController) HasSynced() bool
- func (c *ExternalIPPoolController) IPPoolExists(pool string) bool
- func (c *ExternalIPPoolController) IPPoolHasIP(poolName string, ip net.IP) bool
- func (c *ExternalIPPoolController) ReleaseIP(poolName string, ip net.IP) error
- func (c *ExternalIPPoolController) RestoreIPAllocations(allocations []IPAllocation) []IPAllocation
- func (c *ExternalIPPoolController) Run(stopCh <-chan struct{})
- func (c *ExternalIPPoolController) UpdateIPAllocation(poolName string, ip net.IP) error
- func (c *ExternalIPPoolController) ValidateExternalIPPool(review *admv1.AdmissionReview) *admv1.AdmissionResponse
- type ExternalIPPoolEventHandler
- type IPAllocation
Constants ¶
This section is empty.
Variables ¶
View Source
var (
ErrExternalIPPoolNotFound = errors.New("ExternalIPPool not found")
)
Functions ¶
This section is empty.
Types ¶
type ExternalIPAllocator ¶
type ExternalIPAllocator interface { // AddEventHandler adds a consumer for ExternalIPPool events. It will block other consumers from allocating new IPs by // AllocateIPFromPool() until it calls RestoreIPAllocations(). AddEventHandler(handler ExternalIPPoolEventHandler) // RestoreIPAllocations is used to restore the previous allocated IPs after controller restarts. It will return the // succeeded IP Allocations. RestoreIPAllocations(allocations []IPAllocation) []IPAllocation // AllocateIPFromPool allocates an IP from the given IP pool. AllocateIPFromPool(externalIPPool string) (net.IP, error) // IPPoolExists checks whether the IP pool exists. IPPoolExists(externalIPPool string) bool // IPPoolHasIP checks whether the IP pool contains the given IP. IPPoolHasIP(externalIPPool string, ip net.IP) bool // UpdateIPAllocation marks the IP in the specified ExternalIPPool as occupied. UpdateIPAllocation(externalIPPool string, ip net.IP) error // ReleaseIP releases the IP to the IP pool. ReleaseIP(externalIPPool string, ip net.IP) error // HasSynced indicates ExternalIPAllocator has finished syncing all ExternalIPPool resources. HasSynced() bool }
type ExternalIPPoolController ¶
type ExternalIPPoolController struct {
// contains filtered or unexported fields
}
ExternalIPPoolController is responsible for synchronizing the ExternalIPPool resources.
func NewExternalIPPoolController ¶
func NewExternalIPPoolController(crdClient clientset.Interface, externalIPPoolInformer antreainformers.ExternalIPPoolInformer) *ExternalIPPoolController
NewExternalIPPoolController returns a new *ExternalIPPoolController.
func (*ExternalIPPoolController) AddEventHandler ¶
func (c *ExternalIPPoolController) AddEventHandler(handler ExternalIPPoolEventHandler)
func (*ExternalIPPoolController) AllocateIPFromPool ¶
func (c *ExternalIPPoolController) AllocateIPFromPool(ipPoolName string) (net.IP, error)
AllocateIPFromPool allocates an IP from the the given IP pool.
func (*ExternalIPPoolController) HasSynced ¶
func (c *ExternalIPPoolController) HasSynced() bool
func (*ExternalIPPoolController) IPPoolExists ¶
func (c *ExternalIPPoolController) IPPoolExists(pool string) bool
func (*ExternalIPPoolController) IPPoolHasIP ¶
func (c *ExternalIPPoolController) IPPoolHasIP(poolName string, ip net.IP) bool
func (*ExternalIPPoolController) ReleaseIP ¶
func (c *ExternalIPPoolController) ReleaseIP(poolName string, ip net.IP) error
ReleaseIP releases the IP to the pool.
func (*ExternalIPPoolController) RestoreIPAllocations ¶
func (c *ExternalIPPoolController) RestoreIPAllocations(allocations []IPAllocation) []IPAllocation
func (*ExternalIPPoolController) Run ¶
func (c *ExternalIPPoolController) Run(stopCh <-chan struct{})
Run begins watching and syncing of the ExternalIPPoolController.
func (*ExternalIPPoolController) UpdateIPAllocation ¶
func (c *ExternalIPPoolController) UpdateIPAllocation(poolName string, ip net.IP) error
UpdateIPAllocation sets the IP in the specified ExternalIPPool.
func (*ExternalIPPoolController) ValidateExternalIPPool ¶
func (c *ExternalIPPoolController) ValidateExternalIPPool(review *admv1.AdmissionReview) *admv1.AdmissionResponse
type ExternalIPPoolEventHandler ¶
type ExternalIPPoolEventHandler func(externalIPPool string)
ExternalIPPoolEventHandler defines a consumer to subscribe for external ExternalIPPool events.
type IPAllocation ¶
type IPAllocation struct { // ObjectReference is useful to track the owner of this IP allocation. ObjectReference corev1.ObjectReference // IPPoolName is the name of the IP pool. IPPoolName string // IP is the allocated IP. IP net.IP }
IPAllocation contains the IP and the IP Pool which allocates it.
Click to show internal directories.
Click to hide internal directories.