Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var Cell = cell.Module( "node-manager", "Manages the collection of Cilium nodes", cell.Provide(newAllNodeManager), )
Cell provides the NodeManager, which manages information about Cilium nodes in the cluster and informs other modules of changes to node configuration.
Functions ¶
func New ¶ added in v1.14.0
func New(name string, c Configuration) (*manager, error)
New returns a new node manager
Types ¶
type Configuration ¶ added in v1.14.0
type Configuration interface { TunnelingEnabled() bool RemoteNodeIdentitiesEnabled() bool NodeEncryptionEnabled() bool EncryptionEnabled() bool }
Configuration is the set of configuration options the node manager depends on
type IPCache ¶ added in v1.14.0
type IPCache interface { Upsert(ip string, hostIP net.IP, hostKey uint8, k8sMeta *ipcache.K8sMetadata, newIdentity ipcache.Identity) (bool, error) Delete(IP string, source source.Source) bool UpsertLabels(prefix netip.Prefix, lbls labels.Labels, src source.Source, rid ipcacheTypes.ResourceID) }
IPCache is the set of interactions the node manager performs with the ipcache
type NodeManager ¶ added in v1.14.0
type NodeManager interface { Notifier // GetNodes returns a copy of all of the nodes as a map from Identity to Node. GetNodes() map[types.Identity]types.Node // GetNodeIdentities returns a list of all node identities store in node // manager. GetNodeIdentities() []types.Identity // NodeUpdated is called when the store detects a change in node // information NodeUpdated(n types.Node) // NodeDeleted is called when the store detects a deletion of a node NodeDeleted(n types.Node) // ClusterSizeDependantInterval returns a time.Duration that is dependant on // the cluster size, i.e. the number of nodes that have been discovered. This // can be used to control sync intervals of shared or centralized resources to // avoid overloading these resources as the cluster grows. ClusterSizeDependantInterval(baseInterval time.Duration) time.Duration // SetIPCache sets the ipcache field in the Manager. SetIPCache(ipc IPCache) // StartNeighborRefresh spawns a controller which refreshes neighbor table // by sending arping periodically. StartNeighborRefresh(nh datapath.NodeHandler) }
type Notifier ¶ added in v1.14.0
type Notifier interface { // Subscribe adds the given NodeHandler to the list of subscribers that are // notified of node changes. Upon call to this method, the NodeHandler is // being notified of all nodes that are already in the cluster by calling // the NodeHandler's NodeAdd callback. Subscribe(datapath.NodeHandler) // Unsubscribe removes the given NodeHandler from the list of subscribers. Unsubscribe(datapath.NodeHandler) }
Notifier is the interface the wraps Subscribe and Unsubscribe. An implementation of this interface notifies subscribers of nodes being added, updated or deleted.
Click to show internal directories.
Click to hide internal directories.