Attributes of HyperAI Native Nodes

This document provides an overview of the key attributes associated with NativeNodes in HyperAI.

interfaceName

Description: The interfaceName attribute refers to the specific network interface used by the node, e.g. eth0, to communicate with the control plane.

Kubernetes Type: Annotation

Implementation: See interface_name_and_type

monetaryCost

Description: The monetaryCost attribute refers to how expensive is a HyperAI node.

Kubernetes Type: Annotation

Implementation: See get_monetary_cost_annotation

geolocation

Description: The geolocation attribute is split in three fields (city, region, country) used for selection from the HyperAI scheduler. It uses the node’s public IP address to determine them.

Kubernetes Type: Labels

Implementation: See geolocation

networkType

Description: The networkType attribute refers to the specific technology or protocol used for network communication. It can be Ethernet, Wi-Fi or unknown.

Kubernetes Type: Annotation

Implementation: See interface_name_and_type

energyEfficiency

Description: The energyCost attribute refers to how energy efficient are the computantions done by the node.

Kubernetes Type: Annotation

Implementation: See energy_efficiency_annotation

flopsPerSec

Description: he flops_per_sec attribute represents the computational performance of the node.

Kubernetes type: Annotation

Implementation: See flops_per_sec

name

Description: The name of the node is a unique identifier for the node within the Kubernetes cluster.

Kubernetes Type: Field

Implementation: From Kubernetes v1.33 in node_v1_core

uid

Description: The uid of the node is a unique identifier for the node, which is generated by Kubernetes when the node is created.

Kubernetes Type: Field

Implementation: From Kubernetes v1.33 in node_v1_core

ownerReferences

Description: The ownerReferences establishes a parent-child relationship between Kubernetes objects, indicating that one object (the dependent) is managed by another (the owner). This relationship is helpful for garbage collection, proper resource management, etc.

Kubernetes Type: Field

Implementation: From Kubernetes v1.33 in node_v1_core

finalizers

Description: The finalizers are an optional attribute that is used to ensure that certain cleanup actions are performed before the node is deleted.

Kubernetes Type: Field

Implementation: From Kubernetes v1.33 in node_v1_core

resourceVersion

Descpition: The resourceVersion is a string that represents the version of the node’s resource.

Kubernetes Type: Field

Implementation: From Kubernetes v1.33 in node_v1_core

creationTimestamp

Description: The creationTimestamp of the node is the time when the node was created in/joined the Kubernetes cluster.

Kubernetes Type: Field

Implementation: From Kubernetes v1.33 in node_v1_core

podCIDR

Description: The podCIDR of the node is the Classless Inter-Domain Routing range assigned to the node for pod networking.

Kubernetes Type: Field

Implementation: From Kubernetes v1.33 in node_v1_core

podCIDRs

Description: The podCIDRs of the node is a list of Classless Inter-Domain Routing ranges assigned to the node for pod networking.

Kubernetes Type: Field

Implementation: From Kubernetes v1.33 in node_v1_core

providerID

Description: The providerID of the node is a unique identifier for the node provided by the cloud provider or infrastructure where the node is running.

Kubernetes Type: Field

Implementation: From Kubernetes v1.33 in node_v1_core

unschedulable

Description: The unschedulable taint indicates whether the node is schedulable or not.

Kubernetes Type: Taint

Implementation: From Kubernetes v1.33 in node_v1_core

conditions

Description: The conditions attribute is an array of current observed node conditions

Kubernetes Type: Field

Implementation: From Kubernetes v1.33 in node_v1_core

allocatable

Descpition: The allocatable attribute represents the resources of a node that are available for scheduling. Defaults to Capacity.

Kubernetes Type: Field

Implementation: From Kubernetes v1.33 in node_v1_core

addresses

Description: This attribute is a list of addresses reachable to the node. It can be queried from cloud provider, if available.

Kubernetes Type: Field

Implementation: From Kubernetes v1.33 in node_v1_core

daemonEndpoints

Description: This attribute is a list of ports opened by daemons running on the Node.

Kubernetes Type: Field

Implementation: From Kubernetes v1.33 in node_v1_core

nodeInfo

Description: This attribute is a set of ids/uuids to uniquely identify the node.

Kubernetes Type: Field

Implementation: From Kubernetes v1.33 in node_v1_core

images

Descpription: This attribute is a list of container images on this node

Kubernetes Type: Field

Implementation: From Kubernetes v1.33 in node_v1_core

volumesAttached

Descpription: This attribute is a list of volumes that are attached to the node.

Kubernetes Type: Field

Implementation: From Kubernetes v1.33 in node_v1_core

volumesInUse

Descpription: This attribute is a list of attachable volumes in use (mounted) by the node.

Kubernetes Type: Field

Implementation: From Kubernetes v1.33 in node_v1_core

config

Descpription: Status of the config assigned to the node via the dynamic Kubelet config feature.

Kubernetes Type: Field

Implementation: From Kubernetes v1.33 in node_v1_core

cpuArchitecture

Description: This attribute refers to the design of the CPU, which can be x86, ARM, or other architectures.

Kubernetes Type: Field

Implementation: From Kubernetes v1.33 in node_v1_core

capacity

Description: This attribute entails the nodes computing resources. The cpu cores, emphemeral storage and the memory of the node.

Kubernetes Type: Field

Implementation: From Kubernetes v1.33 in node_v1_core

trustScore

Description: This attribute depicts how trustworthy is a node, e.g. our own new rack is the most trustworthy.

Kubernetes Type: Taint

Implementation : To be done in the next version of HyperTool.

securityLevel

Description: This attribute describes how secure is the node in regards to malicious outside attacks.

Kubernetes Type: Taint

Implementation: To be done in the next version of HyperTool.

uptime

Description: Uptime refers to the duration for which the node has been running without interruption.

Kubernetes Type: Label

Implementation: To be done in the next version of HyperTool.

TPU / capacity TPU

Description: This attribute will describe the total TPUs in the node.

Kubernetes Type: Label

Implementation: To be done in the next version of HyperTool.

allocatable accelerators / capacity accelerators

Description: This attribute will describe the available accelerators for future scheduling.

Kubernetes Type: Label

Implementation: To be done in the next version of HyperTool.

bandwidth

Description: Bandwidth is the maximum rate of data transfer across a network path.

Kubernetes Type: Annotation

Implementation : To be done in the next version of HyperTool

latency

Description: Latency is the time it takes for a packet of data to travel from its source to its destination.

Kubernetes Type: Annotation

Implementation : To be done in the next version of HyperTool

packetLoss

Description: The packetLoss occurs when one or more packets of data travelling across a computer network fail to reach their destination.

Kubernetes Type: Annotation

Implementation : To be done in the next version of HyperTool

nodeCategory

Description: The nodeCategory will be a short and representative string of the nodes computing capacity and accelerators.

Kubernetes Type: Annotation

Implementation: To be done in the next version of HyperTool.

nodePool

Description: The nodePool is a custom tag ,for logical clustering, that will group the nodes into groups. The separation can be done with respact to the node’s purpose (e.g. production/testing) , special features (GPU pool) or any other criterion.

Kubernetes Type: Label

Implementation: To be done in the next version of HyperTool.