Documentation ¶
Index ¶
- func GetConfigForDebug() map[string]interface{}
- func UseCustomNetworkCfg() bool
- type IPAMContext
- func (c *IPAMContext) DeallocCidrs(eniID string, deletableCidrs []datastore.CidrInfo)
- func (c *IPAMContext) GetENIResourcesToAllocate() int
- func (c *IPAMContext) GetIPv4Limit() (int, int, error)
- func (c *IPAMContext) GetPod(podName, namespace string) (*corev1.Pod, error)
- func (c *IPAMContext) RunRPCHandler(version string) error
- func (c *IPAMContext) ServeIntrospection()
- func (c *IPAMContext) ServeMetrics()
- func (c *IPAMContext) SetNodeLabel(ctx context.Context, key, value string) error
- func (c *IPAMContext) StartNodeIPPoolManager()
- type LoggingHandler
- type PodENIData
- type ReconcileCooldownCache
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 ¶
New retrieves IP address usage information from Instance MetaData service and Kubelet then initializes IP address pool data store
func (*IPAMContext) DeallocCidrs ¶ added in v1.9.0
func (c *IPAMContext) DeallocCidrs(eniID string, deletableCidrs []datastore.CidrInfo)
DeallocCidrs frees IPs and Prefixes from EC2
func (*IPAMContext) GetENIResourcesToAllocate ¶ added in v1.9.0
func (c *IPAMContext) GetENIResourcesToAllocate() int
func (*IPAMContext) GetIPv4Limit ¶ added in v1.9.0
func (c *IPAMContext) GetIPv4Limit() (int, int, error)
func (*IPAMContext) GetPod ¶ added in v1.6.4
func (c *IPAMContext) GetPod(podName, namespace string) (*corev1.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(ctx context.Context, 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 ¶
ReconcileCooldownCache keep track of recently freed CIDRs to avoid reading stale EC2 metadata
func (*ReconcileCooldownCache) Add ¶
func (r *ReconcileCooldownCache) Add(cidr string)
Add sets a timestamp for the CIDR added that says how long they are not to be put back in the data store.
func (*ReconcileCooldownCache) RecentlyFreed ¶
func (r *ReconcileCooldownCache) RecentlyFreed(cidr string) (found, recentlyFreed bool)
RecentlyFreed checks if this CIDR was recently freed.
func (*ReconcileCooldownCache) Remove ¶
func (r *ReconcileCooldownCache) Remove(cidr string)
Remove removes a CIDR from the cooldown cache.