Hardware Awareness Scheduling Based on NFD
Authors
Le, Huifeng (intel)
Xu, Di
Summary
NFD (Node Feature Discovery) enables node feature discovery for Kubernetes. It detects hardware features available on each node in a Kubernetes cluster, and advertises those features using node labels. The NodeFeatureRule objects provide an easy way to create vendor or application specific labels , including CPU families, Kernel, SR-IOV enabled Network, NUMA architecture, etc. This PR targets to enable Hardware Awareness (e.g. cluster features) for clusternet scheduling.
Motivation
Provides hardware awareness labels for child clusters, which can be very useful for users to select desired clusters for applications.
Goals
- Discovers cluster features by enabling NFD in child clusters
Non-Goals
- Installs NFD in each child cluster
Proposal
User Stories (Optional)
- I want to know the hardware characteristics of child clusters, such as CPU, FPGA etc.
- I want to deploy my applications to child clusters with required hardware features.
Design Details
Before getting started, custom resource
NodeFeatureRule
need to be created in desired child clusters. We can create a Subscription
with adding
NodeFeatureRule
as a feed. clusternet
will help create those rules in child clusters.
nfd-master
running in each child cluster will get notified of
NodeFeatureRule
and start labelling all the nodes in current child cluster. clusternet-agent
periodically collects information from
current child cluster and aggregates common node labels that have prefix node.clusternet.io/
. Those common labels will
be patched to ManagedCluster
by clusternet-agent
.
Below is a sample NodeFeatureRule.
Other cr samples
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.