Documentation ¶
Index ¶
Constants ¶
const (
// AutoCIDR indicates that a CIDR should be allocated
AutoCIDR = "auto"
)
Variables ¶
var Cell = cell.Module( "nodediscovery", "Communicate changes in local node information to the API server or KVStore", cell.Provide(NewNodeDiscovery), cell.Provide(NewLocalNodeConfig), )
The node discovery cell provides the local node configuration and node discovery which communicate changes in local node information to the API server or KVStore.
Functions ¶
func NewLocalNodeConfig ¶
func NewLocalNodeConfig(mtu mtu.MTU, config *option.DaemonConfig) (datapath.LocalNodeConfiguration, error)
Types ¶
type GetNodeAddresses ¶
type NodeDiscovery ¶
type NodeDiscovery struct { Manager nodemanager.NodeManager LocalConfig datapath.LocalNodeConfiguration Registrar nodestore.NodeRegistrar Registered chan struct{} // contains filtered or unexported fields }
NodeDiscovery represents a node discovery action
func NewNodeDiscovery ¶
func NewNodeDiscovery( manager nodemanager.NodeManager, clientset client.Clientset, lns *node.LocalNodeStore, localConfig datapath.LocalNodeConfiguration, cniConfigManager cni.CNIConfigManager, ) *NodeDiscovery
NewNodeDiscovery returns a pointer to new node discovery object
func (*NodeDiscovery) JoinCluster ¶
func (n *NodeDiscovery) JoinCluster(nodeName string) error
JoinCluster passes the node name to the kvstore and updates the local configuration on response. This allows cluster configuration to override local configuration. Must be called on agent startup after IPAM is configured, but before the configuration is used. nodeName is the name to be used in the local agent.
func (*NodeDiscovery) RegisterK8sGetters ¶
func (n *NodeDiscovery) RegisterK8sGetters(k8sGetters k8sGetters)
func (*NodeDiscovery) StartDiscovery ¶
func (n *NodeDiscovery) StartDiscovery()
start configures the local node and starts node discovery. This is called on agent startup to configure the local node based on the configuration options passed to the agent. nodeName is the name to be used in the local agent.
func (*NodeDiscovery) UpdateCiliumNodeResource ¶
func (n *NodeDiscovery) UpdateCiliumNodeResource()
UpdateCiliumNodeResource updates the CiliumNode resource representing the local node. This function can be safely executed only before starting the discovery logic through StartDiscovery(), as otherwise possibly racing against concurrent updates triggered by the LocalNodeStore observer.
func (*NodeDiscovery) WaitForLocalNodeInit ¶
func (n *NodeDiscovery) WaitForLocalNodeInit()
WaitForLocalNodeInit blocks until StartDiscovery() has been called. This is used to block until Node's local IP addresses have been allocated, see https://github.com/cilium/cilium/pull/14299 and https://github.com/cilium/cilium/pull/14670.