ipamd

package
v1.7.2-rc1 Latest Latest
Warning

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

Go to latest
Published: Sep 4, 2020 License: Apache-2.0 Imports: 36 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetConfigForDebug

func GetConfigForDebug() map[string]interface{}

GetConfigForDebug returns the active values of the configuration env vars (for debugging purposes).

func UseCustomNetworkCfg

func UseCustomNetworkCfg() bool

UseCustomNetworkCfg returns whether Pods needs to use pod specific configuration or not.

Types

type IPAMContext

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

IPAMContext contains node level control information

func New

func New(k8sapiClient kubernetes.Interface, eniConfig *eniconfig.ENIConfigController) (*IPAMContext, error)

New retrieves IP address usage information from Instance MetaData service and Kubelet then initializes IP address pool data store

func (*IPAMContext) GetPod added in v1.6.4

func (c *IPAMContext) GetPod(podName, namespace string) (*v1.Pod, error)

GetPod returns the pod matching the name and namespace

func (*IPAMContext) RunRPCHandler

func (c *IPAMContext) RunRPCHandler(version string) error

RunRPCHandler handles request from gRPC

func (*IPAMContext) ServeIntrospection

func (c *IPAMContext) ServeIntrospection()

ServeIntrospection sets up ipamd introspection endpoints

func (*IPAMContext) ServeMetrics

func (c *IPAMContext) ServeMetrics()

ServeMetrics sets up ipamd metrics and introspection endpoints

func (*IPAMContext) SetNodeLabel added in v1.6.4

func (c *IPAMContext) SetNodeLabel(key, value string) error

SetNodeLabel sets or deletes a node label

func (*IPAMContext) StartNodeIPPoolManager

func (c *IPAMContext) StartNodeIPPoolManager()

StartNodeIPPoolManager monitors the IP pool, add or del them when it is required.

type LoggingHandler

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

LoggingHandler is a object for handling http request

func (LoggingHandler) ServeHTTP

func (lh LoggingHandler) ServeHTTP(w http.ResponseWriter, r *http.Request)

type PodENIData added in v1.6.4

type PodENIData struct {
	ENIID      string `json:"eniId"`
	IfAddress  string `json:"ifAddress"`
	PrivateIP  string `json:"privateIp"`
	VlanID     int    `json:"vlanID"`
	SubnetCIDR string `json:"subnetCidr"`
}

PodENIData is used to parse the list of ENIs in the branch ENI pod annotation

type ReconcileCooldownCache

type ReconcileCooldownCache struct {
	sync.RWMutex
	// contains filtered or unexported fields
}

ReconcileCooldownCache keep track of recently freed IPs to avoid reading stale EC2 metadata

func (*ReconcileCooldownCache) Add

func (r *ReconcileCooldownCache) Add(ips []string)

Add sets a timestamp for the list of IPs added that says how long they are not to be put back in the data store.

func (*ReconcileCooldownCache) RecentlyFreed

func (r *ReconcileCooldownCache) RecentlyFreed(ip string) (found, recentlyFreed bool)

RecentlyFreed checks if this IP was recently freed.

func (*ReconcileCooldownCache) Remove

func (r *ReconcileCooldownCache) Remove(ip string)

Remove removes an IP from the cooldown cache.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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