Balloons Policy Plugin
This chart deploys balloons Node Resource Interface (NRI) plugin. The balloons NRI resource policy plugin implements workload placement into “balloons” that are disjoint CPU pools.
Prerequisites
Kubernetes 1.24+
Helm 3.0.0+
Container runtime:
containerD:
At least containerd 1.7.0 release version to use the NRI feature.
Enable NRI feature by following these detailed instructions. You can optionally enable the NRI in containerd using the Helm chart during the chart installation simply by setting the
nri.runtime.patchConfig
parameter. For instance,helm install my-balloons nri-plugins/nri-resource-policy-balloons --set nri.runtime.patchConfig=true --namespace kube-system
Enabling
nri.runtime.patchConfig
creates an init container to turn on NRI feature in containerd and only after that proceed the plugin installation.
CRI-O
At least v1.26.0 release version to use the NRI feature
Enable NRI feature by following these detailed instructions. You can optionally enable the NRI in CRI-O using the Helm chart during the chart installation simply by setting the
nri.runtime.patchConfig
parameter. For instance,helm install my-balloons nri-plugins/nri-resource-policy-balloons --namespace kube-system --set nri.runtime.patchConfig=true
Installing the Chart
Path to the chart: nri-resource-policy-balloons
helm repo add nri-plugins https://containers.github.io/nri-plugins
helm install my-balloons nri-plugins/nri-resource-policy-balloons --namespace kube-system
The command above deploys balloons NRI plugin on the Kubernetes cluster within
the kube-system
namespace with default configuration. To customize the
available parameters as described in the Configuration options
below, you have two options: you can use the --set
flag or create a custom
values.yaml file and provide it using the -f
flag. For example:
# Install the balloons plugin with custom values provided using the --set option
helm install my-balloons nri-plugins/nri-resource-policy-balloons --namespace kube-system --set nri.runtime.patchConfig=true
# Install the balloons plugin with custom values specified in a custom values.yaml file
cat <<EOF > myPath/values.yaml
nri:
runtime:
patchConfig: true
plugin:
index: 10
tolerations:
- key: "node-role.kubernetes.io/control-plane"
operator: "Exists"
effect: "NoSchedule"
EOF
helm install my-balloons nri-plugins/nri-resource-policy-balloons --namespace kube-system -f myPath/values.yaml
Uninstalling the Chart
To uninstall the balloons plugin run the following command:
helm delete my-balloons --namespace kube-system
Configuration options
The tables below present an overview of the parameters available for users to customize with their own values, along with the default values.
Name |
Default |
Description |
---|---|---|
|
container image name |
|
|
unstable |
container image tag |
|
Always |
image pull policy |
|
500m |
cpu resources for the Pod |
|
512Mi |
memory qouta for the Pod |
|
{} |
extra environment variables to inject (string map) |
|
8891 |
metrics port to expose on the host |
|
see helm chart values for the default configuration |
plugin configuration data |
|
config.nri/group |
node label for grouping configuration |
|
“” |
set NRI plugin registration timeout in NRI config of containerd or CRI-O |
|
“” |
set NRI plugin request timeout in NRI config of containerd or CRI-O |
|
false |
patch NRI configuration in containerd or CRI-O |
|
90 |
NRI plugin index to register with |
|
init container image name |
|
|
unstable |
init container image tag |
|
Always |
init container image pull policy |
|
[] |
specify taint toleration key, operator and effect |
|
[] |
specify node affinity |
|
[] |
specify node selector labels |
|
true |
enable marking Pod as node critical |