Documentation
¶
Index ¶
- func GetKeyNodeName(cluster, node string) string
- func GetName() string
- func SetName(name string)
- type Address
- type Identity
- type Node
- func (in *Node) DeepCopy() *Node
- func (in *Node) DeepCopyInto(out *Node)
- func (n *Node) DeepKeyCopy() store.LocalKey
- func (n *Node) Fullname() string
- func (n *Node) GetCiliumInternalIP(ipv6 bool) net.IP
- func (n *Node) GetK8sNodeIP() net.IP
- func (n *Node) GetKeyName() string
- func (n *Node) GetModel() *models.NodeElement
- func (n *Node) GetNodeIP(ipv6 bool) net.IP
- func (n *Node) Identity() Identity
- func (n *Node) IsLocal() bool
- func (n *Node) Marshal() ([]byte, error)
- func (n *Node) ToCiliumNode() *ciliumv2.CiliumNode
- func (n *Node) Unmarshal(data []byte) error
- type RegisterNode
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetKeyNodeName ¶
GetKeyNodeName constructs the API name for the given cluster and node name.
func GetName ¶
func GetName() string
GetName returns the name of the local node. The value returned was either previously set with SetName(), retrieved via `os.Hostname()`, or as a last resort is hardcoded to "localhost".
func SetName ¶
func SetName(name string)
SetName sets the name of the local node. This will overwrite the value that is automatically retrieved with `os.Hostname()`.
Note: This function is currently designed to only be called during the bootstrapping procedure of the agent where no parallelism exists. If you want to use this function in later stages, a mutex must be added first.
Types ¶
type Address ¶
type Address struct { Type addressing.AddressType IP net.IP }
Address is a node address which contains an IP and the address type.
+k8s:deepcopy-gen=true
func (*Address) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Address.
func (*Address) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Node ¶
type Node struct { // Name is the name of the node. This is typically the hostname of the node. Name string // Cluster is the name of the cluster the node is associated with Cluster string IPAddresses []Address // IPv4AllocCIDR if set, is the IPv4 address pool out of which the node // allocates IPs for local endpoints from IPv4AllocCIDR *cidr.CIDR // IPv6AllocCIDR if set, is the IPv6 address pool out of which the node // allocates IPs for local endpoints from IPv6AllocCIDR *cidr.CIDR // IPv4HealthIP if not nil, this is the IPv4 address of the // cilium-health endpoint located on the node. IPv4HealthIP net.IP // IPv6HealthIP if not nil, this is the IPv6 address of the // cilium-health endpoint located on the node. IPv6HealthIP net.IP // ClusterID is the unique identifier of the cluster ClusterID int // Source is the source where the node configuration was generated / created. Source source.Source // Key index used for transparent encryption or 0 for no encryption EncryptionKey uint8 // Node labels Labels map[string]string // NodeIdentity is the numeric identity allocated for the node NodeIdentity uint32 }
Node contains the nodes name, the list of addresses to this address
+k8s:deepcopy-gen=true
func ParseCiliumNode ¶
func ParseCiliumNode(n *ciliumv2.CiliumNode) (node Node)
ParseCiliumNode parses a CiliumNode custom resource and returns a Node instance. Invalid IP and CIDRs are silently ignored
func (*Node) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Node.
func (*Node) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Node) DeepKeyCopy ¶
DeepKeyCopy creates a deep copy of the LocalKey
func (*Node) Fullname ¶
Fullname returns the node's full name including the cluster name if a cluster name value other than the default value has been specified
func (*Node) GetCiliumInternalIP ¶
GetCiliumInternalIP returns the CiliumInternalIP e.g. the IP associated with cilium_host on the node.
func (*Node) GetK8sNodeIP ¶
GetK8sNodeIPs returns k8s Node IP (either InternalIP or ExternalIP or nil; the former is preferred).
func (*Node) GetKeyName ¶
GetKeyName returns the kvstore key to be used for the node
func (*Node) GetModel ¶
func (n *Node) GetModel() *models.NodeElement
GetModel returns the API model representation of a node.
func (*Node) GetNodeIP ¶
GetNodeIP returns one of the node's IP addresses available with the following priority: - NodeInternalIP - NodeExternalIP - other IP address type
func (*Node) IsLocal ¶
IsLocal returns true if this is the node on which the agent itself is running on
func (*Node) ToCiliumNode ¶
func (n *Node) ToCiliumNode() *ciliumv2.CiliumNode
ToCiliumNode converts the node to a CiliumNode
type RegisterNode ¶
type RegisterNode struct {
Node
}
RegisterNode overloads GetKeyName to ignore the cluster name, as cluster name may not be stable during node registration.
+k8s:deepcopy-gen=true
func (*RegisterNode) DeepCopy ¶
func (in *RegisterNode) DeepCopy() *RegisterNode
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegisterNode.
func (*RegisterNode) DeepCopyInto ¶
func (in *RegisterNode) DeepCopyInto(out *RegisterNode)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RegisterNode) DeepKeyCopy ¶
func (n *RegisterNode) DeepKeyCopy() store.LocalKey
DeepKeyCopy creates a deep copy of the LocalKey
func (*RegisterNode) GetKeyName ¶
func (n *RegisterNode) GetKeyName() string
GetKeyName Overloaded key name w/o cluster name