Node Agent
CRI Resource Manager can be configured dynamically using the CRI Resource Manager Node Agent and Kubernetes* ConfigMaps.
Running as a DaemonSet
The agent can be build using the
provided Dockerfile. It can be
deployed as a DaemonSet
in the cluster using the
provided deployment file.
When using the provided or a similar deployment, the agent uses a
readiness probe to propagate the status of the last configuration
update back to the control plane. If the configuration could not
be taken into use for any reason, the agent’s probe will fail which
eventually marks the agent as not being Ready
. In this case, more
details about the failure should be present among the latest messages
logged by the agent or the probe itself. if the reason for failure is
a configuration error, once the error is fixed, the agent should become
eventually Ready
again.
Running as a Host Service
To run the agent manually or as a systemd
service, set the environment
variable NODE_NAME
to the name of the cluster node the agent is running
on. If necessary pass it the credentials for accessing the cluster using
the -kubeconfig <file>
command line option.
ConfigMap to Node Mapping Conventions
The agent monitors two ConfigMaps for the node, a primary node-specific one and a secondary group-specific or default one, depending on whether the node belongs to a configuration group. The node-specific ConfigMap always takes precedence over the others.
The names of these ConfigMaps are
cri-resmgr-config.node.$NODE_NAME
: primary, node-specific configurationcri-resmgr-config.group.$GROUP_NAME
: secondary group-specific node configurationcri-resmgr-config.default
: secondary: secondary default node configuration
You can assign a node to a configuration group by setting the
cri-resource-manager.intel.com/group
label on the node to the name of
the configuration group. You can remove a node from its group by deleting
the node group label.
There is a sample ConfigMap spec that contains a node-specific, a group-specific, and a default ConfigMap example. See any available policy-specific documentation for more information on the policy configurations.