Skip to content

Commit

Permalink
Update documentation for v0.2
Browse files Browse the repository at this point in the history
Auto-generated from v0.1.3-11-ga826ac6 by 'update-gh-pages.sh'
  • Loading branch information
Github committed Oct 11, 2023
1 parent 34c667c commit dcf298c
Show file tree
Hide file tree
Showing 90 changed files with 26,059 additions and 1 deletion.
1 change: 1 addition & 0 deletions releases/versions.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,6 @@ function getVersionsMenuItems() {
{ name: 'devel', url: '/nri-plugins/devel' },
{ name: 'stable', url: '/nri-plugins/stable' },
{ name: 'v0.1', url: '/nri-plugins/v0.1' },
{ name: 'v0.2', url: '/nri-plugins/v0.2' },
];
}
2 changes: 1 addition & 1 deletion stable
4 changes: 4 additions & 0 deletions v0.2/.buildinfo
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
config: b7371f7f9c7d929cf1f936bde3377de3
tags: 645f666f9bcd5a90fca523b33c5a78b7
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
policy:
Active: balloons
# Use only 15 CPUs in total, leave cpu0 for other than Kubernetes
# processes.
AvailableResources:
CPU: cpuset:1-15
# Reserve one of our CPUs (cpu15) for kube-system tasks.
ReservedResources:
CPU: cpuset:15
balloons:
# PinCPU: allow containers to use only the CPUs in their balloons.
PinCPU: true
# PinMemory: allow containers to use only the closest memory to
# the CPUs in their balloons.
PinMemory: true
# IdleCPUClass: how to configure CPUs that are not included in any
# of the balloons.
IdleCPUClass: idle
BalloonTypes:
- Name: "full-core-turbo"
# MinCPUs: minimum number of logical cores in every balloon
# instance of this type.
# The default is 0.
MinCPUs: 2
# MaxCPUs: maximum number of logical cores in every balloon
# instance of this type.
# The default is 0 (unlimited).
MaxCPUs: 2
# CPUClass: how to configure CPUs of these balloons.
# The default is "".
CPUClass: "turbo"
# Namespaces: assign pods in listed namespaces to these
# balloons, even if there is no explicit annotation:
# balloon.balloons.nri-resmgr.intel.com: full-core-turbo
# The default is to assign only annotated pods.
Namespaces:
- "highperf"
# AllocatorPriotity: CPU allocator priority (0: High, 1:
# Normal, 2: Low, 3: None). Affects the performance/type of
# CPUs that are selected into the balloon. CPUs for static
# balloon instances (MinBalloons > 0) with highest
# AllocatorPriority are reserved first.
# The default is 0.
AllocatorPriority: 2
# MinBalloons: how many balloon instances of this type are always
# kept in the system, even if there would not be workloads to them.
# The default is 0.
MinBalloons: 2
# PreferNewBalloons: prefer creating a new balloon for
# separate pods, even if their CPU requirements would allow
# putting them in the same balloon.
# The default is: false.
PreferNewBalloons: true
# PreferPerNamespaceBalloon: if true, containers in the same
# namespace are preferrably placed in the same balloon, and
# containers in different namespaces to different
# balloons. The default is false: namespaces have no effect on
# placement.
PreferPerNamespaceBalloon: false
# PreferSpreadingPods: if true, containers of single pod can
# be assigned in different balloons, based on which balloons
# have most free CPU resources.
# The default is: false: prefer running containers of a same
# pod in the same balloon(s).
PreferSpreadingPods: false

- Name: "socket-size"
MaxCPUs: 8
AllocatorPriority: 2
Namespaces:
- "default"
CPUClass: "normal"
# CPU controller configuration specifies CPU class properties. CPUs of
# each balloon are configured based on its CPUClass. If a balloon has
# no CPUClass, the properties of the default class are applied.
cpu:
classes:
default:
minFreq: 800
maxFreq: 1600
turbo:
minFreq: 3300
maxFreq: 3600
normal:
minFreq: 800
maxFreq: 2400
instrumentation:
# The balloons policy exports containers running in each balloon,
# and cpusets of balloons. Accessible in command line:
# curl --silent http://localhost:8891/metrics
HTTPEndpoint: :8891
PrometheusExport: true
logger:
Debug: policy
Original file line number Diff line number Diff line change
@@ -0,0 +1,193 @@
#
# This example creates 3 ConfigMaps:
# - nri-resmgr-config.default: the default configuration
# - nri-resmgr-config.group.foo: the configuration for nodes in group foo
# - nri-resmgr-config.node.cl0-slave1: the configuration for node cl0-slave1
#
# You can assign nodes to group foo using the command
# kubectl label --overwrite node $NODE_NAME nri-resmgr.intel.com/group=foo
#
# You can remove nodes from group foo using the command
# kubectl label node $NODE_NAME nri-resmgr.intel.com/group-
#

apiVersion: v1
kind: ConfigMap
metadata:
name: nri-resmgr-config.default
namespace: kube-system
data:
policy: |+
Active: topology-aware
AvailableResources:
cpu: cpuset:0-63
ReservedResources:
cpu: cpuset:0-1
topology-aware:
PinCPU: true
PinMemory: true
PreferIsolatedCPUs: true
PreferSharedCPUs: false
static:
RelaxedIsolation: true
static-pools:
# Filesystem path to legacy configuration directory structure
ConfDirPath: "/etc/cmk"
# Filesystem path to legacy configuration file
ConfFilePath: ""
# Whether to create CMK node label
LabelNode: false
# Whether to create CMK node taint
TaintNode: false
# Pool configuration.
# The imaginary example system below consists of 4 sockets, 4 cores, 2
# threads each.
pools:
exclusive:
# 6 exclusive cores, 3 on sockets 1, 2 and 3 each
cpuLists:
- Cpuset: 8,9
Socket: 1
- Cpuset: 10,11
Socket: 1
- Cpuset: 16,17
Socket: 2
- Cpuset: 18,19
Socket: 2
- Cpuset: 24,25
Socket: 3
- Cpuset: 26,27
Socket: 3
exclusive: true
shared:
# 2 cores in shared pool, all on socket 1
cpuLists:
- Cpuset: 12,13,14,15
Socket: 1
exclusive: false
infra:
# Rest of cores designated to infra pool
cpuLists:
- Cpuset: 0,1,2,3,4,5,6,7
Socket: 0
- Cpuset: 20,21,22,23
Socket: 2
- Cpuset: 28,29,30,31
Socket: 3
exclusive: false
---
apiVersion: v1
kind: ConfigMap
metadata:
## Configuration specific to a group of nodes can be specified with
#name: nri-resmgr-config.group.<node-group-label-name>
namespace: kube-system
data:
policy: |+
Active: topology-aware
AvailableResources:
cpu: cpuset:0-63
ReservedResources:
cpu: cpuset:0-1
topology-aware:
PinCPU: true
PinMemory: false
PreferIsolatedCPUs: false
PreferSharedCPUs: false
static:
RelaxedIsolation: true
static-pools:
# This is an example configuration for static-pools policy.
# The imaginary example system here consists of 4 sockets, 4 cores, 2 threads each.
pools:
exclusive:
# 6 exclusive cores, 3 on sockets 1, 2 and 3 each
cpuLists:
- Cpuset: 8,9
Socket: 1
- Cpuset: 10,11
Socket: 1
- Cpuset: 16,17
Socket: 2
- Cpuset: 18,19
Socket: 2
- Cpuset: 24,25
Socket: 3
- Cpuset: 26,27
Socket: 3
exclusive: true
shared:
# 2 cores in shared pool, all on socket 1
cpuLists:
- Cpuset: 12,13,14,15
Socket: 1
exclusive: false
infra:
# Rest of cores designated to infra pool
cpuLists:
- Cpuset: 0,1,2,3,4,5,6,7
Socket: 0
- Cpuset: 20,21,22,23
Socket: 2
- Cpuset: 28,29,30,31
Socket: 3
exclusive: false
---
apiVersion: v1
kind: ConfigMap
metadata:
## Node-specific configuration can be specified with
#name: nri-resmgr-config.node.<node-name>
namespace: kube-system
data:
policy: |+
Active: topology-aware
AvailableResources:
cpu: cpuset:0-63
ReservedResources:
cpu: cpuset:0-1
topology-aware:
PinCPU: false
PinMemory: true
PreferIsolatedCPUs: false
PreferSharedCPUs: false
static:
RelaxedIsolation: true
static-pools:
# This is an example configuration for static-pools policy.
# The imaginary example system here consists of 4 sockets, 4 cores, 2 threads each.
pools:
exclusive:
# 6 exclusive cores, 3 on sockets 1, 2 and 3 each
cpuLists:
- Cpuset: 8,9
Socket: 1
- Cpuset: 10,11
Socket: 1
- Cpuset: 16,17
Socket: 2
- Cpuset: 18,19
Socket: 2
- Cpuset: 24,25
Socket: 3
- Cpuset: 26,27
Socket: 3
exclusive: true
shared:
# 2 cores in shared pool, all on socket 1
cpuLists:
- Cpuset: 12,13,14,15
Socket: 1
exclusive: false
infra:
# Rest of cores designated to infra pool
cpuLists:
- Cpuset: 0,1,2,3,4,5,6,7
Socket: 0
- Cpuset: 20,21,22,23
Socket: 2
- Cpuset: 28,29,30,31
Socket: 3
exclusive: false
logger: |+
Debug: resource-manager,cache
10 changes: 10 additions & 0 deletions v0.2/_sources/docs/contributing.md.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Contributing

Please use the GitHub\* infrastructure for contributing to NRI Plugins.
Use [pull requests](https://github.com/containers/nri-plugins/pulls)
to contribute code, bug fixes, or if you want to discuss your ideas in terms of
code. Open [issues](https://github.com/containers/nri-plugins/issues) to
report bugs, request new features, or if you want to discuss any other topics
related to NRI plugins.

For the actual NRI (Node Resource Interface) API, please see [NRI repository](https://github.com/containerd/nri)
13 changes: 13 additions & 0 deletions v0.2/_sources/docs/index.md.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Welcome to NRI Plugins documentation

```{toctree}
---
maxdepth: 2
caption: Contents
---
introduction.md
resource-policy/index.rst
memory/index.md
contributing.md
Project GitHub repository <https://github.com/containers/nri-plugins>
```
6 changes: 6 additions & 0 deletions v0.2/_sources/docs/introduction.md.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Introduction

The NRI plugins is a collection of NRI (Node Resource Interface) based plugins
to manage various aspects of pod and container life cycle.
For example the [resource policy plugins](resource-policy/policy/index.md) can be used to modify
the container resource allocation depending on available system resources.
10 changes: 10 additions & 0 deletions v0.2/_sources/docs/memory/index.md.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Memory plugins

```{toctree}
---
maxdepth: 2
caption: Contents
---
memory-qos.md
memtierd.md
```
Loading

0 comments on commit dcf298c

Please sign in to comment.